mirror of
https://github.com/python/cpython.git
synced 2025-08-04 17:08:35 +00:00
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:
parent
3e99643682
commit
1566a17af5
3 changed files with 30 additions and 3 deletions
|
@ -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();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue