Get hotshot closer to compiling on Windows.

Still broken:  GETTIMEOFDAY.  This macro obviously isn't being defined
on Windows, so there's logic errors here I'd rather Fred untangled.
This commit is contained in:
Tim Peters 2001-10-12 22:08:39 +00:00
parent 3e99643682
commit 1566a17af5
3 changed files with 30 additions and 3 deletions

View File

@ -19,6 +19,7 @@
#ifdef MS_WIN32
#include <windows.h>
#include <largeint.h>
#include <direct.h> /* for getcwd() */
typedef LARGE_INTEGER hs_time;
#else
#ifndef HAVE_GETTIMEOFDAY
@ -41,6 +42,14 @@ typedef struct timeval hs_time;
#define BUFFERSIZE 10240
#ifndef PATH_MAX
# ifdef MAX_PATH
# define PATH_MAX MAX_PATH
# else
# error "Need a defn. for PATH_MAX in _hotshot.c"
# endif
#endif
typedef struct {
PyObject_HEAD
PyObject *filemap;
@ -365,6 +374,7 @@ logreader_tp_iternext(LogReaderObject *self)
goto restart;
}
default:
;
}
if (err == ERR_EOF && oldindex != 0) {
/* It looks like we ran out of data before we had it all; this
@ -470,7 +480,7 @@ flush_data(ProfilerObject *self)
{
/* Need to dump data to the log file... */
size_t written = fwrite(self->buffer, 1, self->index, self->logfp);
if (written == self->index)
if (written == (size_t)self->index)
self->index = 0;
else {
memmove(self->buffer, &self->buffer[written],
@ -723,7 +733,7 @@ tracer_callback(ProfilerObject *self, PyFrameObject *frame, int what,
case PyTrace_RETURN:
pack_exit(self, get_tdelta(self));
break;
case PyTrace_LINE:
case PyTrace_LINE:
if (self->linetimings)
pack_lineno_tdelta(self, frame->f_lineno, get_tdelta(self));
else
@ -1259,7 +1269,7 @@ hotshot_profiler(PyObject *unused, PyObject *args)
self->index = 0;
self->active = 0;
self->next_fileno = 0;
self->logfp = NULL;
self->logfp = NULL;
self->logfilename = PyTuple_GET_ITEM(args, 0);
Py_INCREF(self->logfilename);
self->filemap = PyDict_New();

View File

@ -44,6 +44,7 @@ extern void init_locale(void);
extern void init_codecs(void);
extern void initxreadlines(void);
extern void init_weakref(void);
extern void init_hotshot(void);
extern void initxxsubtype(void);
/* XXX tim: what's the purpose of ADDMODULE MARKER? */
@ -98,6 +99,7 @@ struct _inittab _PyImport_Inittab[] = {
{"_codecs", init_codecs},
{"xreadlines", initxreadlines},
{"_weakref", init_weakref},
{"_hotshot", init_hotshot},
{"xxsubtype", initxxsubtype},

View File

@ -180,6 +180,21 @@ SOURCE=..\Modules\_codecsmodule.c
# End Source File
# Begin Source File
SOURCE=..\Modules\_hotshot.c
!IF "$(CFG)" == "pythoncore - Win32 Release"
!ELSEIF "$(CFG)" == "pythoncore - Win32 Debug"
!ELSEIF "$(CFG)" == "pythoncore - Win32 Alpha Debug"
!ELSEIF "$(CFG)" == "pythoncore - Win32 Alpha Release"
!ENDIF
# End Source File
# Begin Source File
SOURCE=..\Modules\_localemodule.c
!IF "$(CFG)" == "pythoncore - Win32 Release"