Article View: gnu.gcc.bug
Article #63402.7.1internal error in 2.7.1 on alphas-osf3.2a
From: Bill Tutt
Date: Thu, 30 Nov 1995 00:00
Date: Thu, 30 Nov 1995 00:00
8181 lines
62207 bytes
62207 bytes
While compling Python 1.3
this happened:
Reading specs from /usr/local/lib/gcc-lib/alpha-dec-osf3.2/2.7.1/specs
gcc version 2.7.1
/usr/local/lib/gcc-lib/alpha-dec-osf3.2/2.7.1/cpp -lang-c -v -I./../Include -I.. -undef -D__GNUC__=2 -D__GNUC_MINOR__=7 -Dunix -D__osf__ -D__alpha -D__alpha__ -D_LONGLONG -DSYSTYPE_BSD -D_SYSTYPE_BSD -D__unix__ -D__osf__ -D__alpha -D__alpha__ -D_LONGLONG -D__SYSTYPE_BSD__ -D_SYSTYPE_BSD -D__unix -D__SYSTYPE_BSD -Asystem(unix) -Asystem(xpg4) -Acpu(alpha) -Amachine(alpha) -D__OPTIMIZE__ -D__LANGUAGE_C__ -D__LANGUAGE_C -DLANGUAGE_C -DHAVE_CONFIG_H ./selectmodule.c /tmp/ccaafeca.i
GNU CPP version 2.7.1
#include "..." search starts here:
#include <...> search starts here:
./../Include
..
/usr/local/include
/usr/local/alpha-dec-osf3.2/include
/usr/local/lib/gcc-lib/alpha-dec-osf3.2/2.7.1/include
/usr/include
End of search list.
/usr/local/lib/gcc-lib/alpha-dec-osf3.2/2.7.1/cc1 /tmp/ccaafeca.i -quiet -dumpbase selectmodule.c -O -version -o /tmp/ccaafeca.s
GNU C version 2.7.1 compiled by CC.
gcc: Internal compiler error: program cc1 got fatal signal 6
Stop.
gcc -E of the file yields:
# 1 "selectmodule.c"
# 1 "../Include/allobjects.h" 1
# 46 "../Include/allobjects.h"
# 1 "../config.h" 1
# 49 "../Include/allobjects.h" 2
# 1 "/usr/local/lib/gcc-lib/alpha-dec-osf3.2/2.7.1/include/stdio.h" 1 3
# 1 "/usr/local/lib/gcc-lib/alpha-dec-osf3.2/2.7.1/include/stdarg.h" 1 3
# 1 "/usr/local/lib/gcc-lib/alpha-dec-osf3.2/2.7.1/include/va-alpha.h" 1 3
typedef struct {
char *__base;
int __offset;
} __gnuc_va_list;
# 99 "/usr/local/lib/gcc-lib/alpha-dec-osf3.2/2.7.1/include/va-alpha.h" 3
# 36 "/usr/local/lib/gcc-lib/alpha-dec-osf3.2/2.7.1/include/stdarg.h" 2 3
# 98 "/usr/local/lib/gcc-lib/alpha-dec-osf3.2/2.7.1/include/stdarg.h" 3
# 171 "/usr/local/lib/gcc-lib/alpha-dec-osf3.2/2.7.1/include/stdarg.h" 3
# 2 "/usr/local/lib/gcc-lib/alpha-dec-osf3.2/2.7.1/include/stdio.h" 2 3
# 1 "/usr/include/standards.h" 1 3
# 155 "/usr/include/standards.h" 3
# 53 "/usr/local/lib/gcc-lib/alpha-dec-osf3.2/2.7.1/include/stdio.h" 2 3
typedef unsigned long size_t;
typedef long fpos_t;
# 1 "/usr/include/sys/seek.h" 1 3
# 120 "/usr/local/lib/gcc-lib/alpha-dec-osf3.2/2.7.1/include/stdio.h" 2 3
typedef struct {
int _cnt;
unsigned char *_ptr;
unsigned char *_base;
int _bufsiz;
short _flag;
short _file;
char *__newbase;
void *_lock;
unsigned char *_bufendp;
} FILE;
extern FILE _iob[];
extern size_t fread (void *, size_t, size_t, FILE *) ;
extern size_t fwrite (const void *, size_t, size_t, FILE *) ;
extern int _flsbuf (int, FILE *) ;
extern int _filbuf (FILE *) ;
extern int ferror (FILE *) ;
extern int feof (FILE *) ;
extern void clearerr (FILE *) ;
extern int putchar (int) ;
extern int getchar (void) ;
extern int putc (int, FILE *) ;
extern int getc (FILE *) ;
extern int remove (const char *) ;
extern int rename (const char *, const char *) ;
extern FILE *tmpfile (void) ;
extern char *tmpnam (char *) ;
extern int fclose (FILE *) ;
extern int fflush (FILE *) ;
extern FILE *fopen (const char *, const char *) ;
extern FILE *freopen (const char *, const char *, FILE *) ;
extern void setbuf (FILE *, char *) ;
extern int setvbuf (FILE *, char *, int, size_t) ;
extern int fprintf (FILE *, const char *, ...) ;
extern int fscanf (FILE *, const char *, ...) ;
extern int printf (const char *, ...) ;
extern int scanf (const char *, ...) ;
extern int sprintf (char *, const char *, ...) ;
extern int sscanf (const char *, const char *, ...) ;
# 1 "/usr/include/va_list.h" 1 3
typedef struct {
char **_a0;
int _offset;
} va_list;
# 84 "/usr/include/va_list.h" 3
# 191 "/usr/local/lib/gcc-lib/alpha-dec-osf3.2/2.7.1/include/stdio.h" 2 3
extern int vfprintf (FILE *, const char *, __gnuc_va_list) ;
extern int vprintf (const char *, __gnuc_va_list) ;
extern int vsprintf (char *, const char *, __gnuc_va_list) ;
# 203 "/usr/local/lib/gcc-lib/alpha-dec-osf3.2/2.7.1/include/stdio.h" 3
extern int fgetc (FILE *) ;
extern char *fgets (char *, int, FILE *) ;
extern int fputc (int, FILE *) ;
extern int fputs (const char *, FILE *) ;
extern char *gets (char *) ;
extern int puts (const char *) ;
extern int ungetc (int, FILE *) ;
extern int fgetpos (FILE *, fpos_t *) ;
extern int fseek (FILE *, long, int) ;
extern int fsetpos (FILE *, const fpos_t *) ;
extern long ftell (FILE *) ;
extern void rewind (FILE *) ;
extern void perror (const char *) ;
# 284 "/usr/local/lib/gcc-lib/alpha-dec-osf3.2/2.7.1/include/stdio.h" 3
# 337 "/usr/local/lib/gcc-lib/alpha-dec-osf3.2/2.7.1/include/stdio.h" 3
# 1 "/usr/local/lib/gcc-lib/alpha-dec-osf3.2/2.7.1/include/sys/types.h" 1 3
typedef long int ptrdiff_t;
# 115 "/usr/local/lib/gcc-lib/alpha-dec-osf3.2/2.7.1/include/sys/types.h" 3
typedef unsigned int wchar_t;
typedef unsigned int wctype_t;
typedef int time_t;
typedef int clock_t;
# 155 "/usr/local/lib/gcc-lib/alpha-dec-osf3.2/2.7.1/include/sys/types.h" 3
typedef long ssize_t;
typedef unsigned char uchar_t;
typedef unsigned short ushort_t;
typedef unsigned int uint_t;
typedef unsigned long ulong_t;
typedef volatile unsigned char vuchar_t;
typedef volatile unsigned short vushort_t;
typedef volatile unsigned int vuint_t;
typedef volatile unsigned long vulong_t;
typedef struct { long r[1]; } *physadr_t;
typedef struct label_t {
long val[10];
} label_t;
# 201 "/usr/local/lib/gcc-lib/alpha-dec-osf3.2/2.7.1/include/sys/types.h" 3
typedef int level_t;
typedef int daddr_t;
typedef char * caddr_t;
typedef long * qaddr_t;
typedef char * addr_t;
typedef uint_t ino_t;
typedef short cnt_t;
typedef int dev_t;
typedef int chan_t;
typedef long off_t;
typedef unsigned long rlim_t;
typedef int paddr_t;
typedef ushort_t nlink_t;
typedef int key_t;
typedef uint_t mode_t;
typedef uint_t uid_t;
typedef uint_t gid_t;
typedef void * mid_t;
typedef int pid_t;
typedef char slab_t[12];
typedef ulong_t shmatt_t;
typedef ulong_t msgqnum_t;
typedef ulong_t msglen_t;
typedef unsigned int wint_t;
typedef unsigned long sigset_t;
typedef long timer_t;
typedef void (*sig_t) (int,void (*)(int)) ;
typedef pid_t id_t;
typedef uint_t major_t;
typedef uint_t minor_t;
typedef uint_t devs_t;
typedef uint_t unit_t;
# 1 "/usr/include/mach/machine/vm_types.h" 1 3
typedef unsigned long vm_offset_t;
typedef unsigned long vm_size_t;
# 368 "/usr/local/lib/gcc-lib/alpha-dec-osf3.2/2.7.1/include/sys/types.h" 2 3
typedef uchar_t uchar;
typedef ushort_t ushort;
typedef uint_t uint;
typedef ulong_t ulong;
typedef physadr_t physadr;
typedef uchar_t u_char;
typedef ushort_t u_short;
typedef uint_t u_int;
typedef ulong_t u_long;
typedef vuchar_t vu_char;
typedef vushort_t vu_short;
typedef vuint_t vu_int;
typedef vulong_t vu_long;
typedef struct _quad { int val[2]; } quad;
typedef long swblk_t;
typedef u_long fixpt_t;
# 1 "/usr/include/sys/select.h" 1 3
# 115 "/usr/include/sys/select.h" 3
typedef int fd_mask;
typedef struct fd_set {
fd_mask fds_bits[((( 4096 )+(( (sizeof(fd_mask) * 8 ) )-1))/( (sizeof(fd_mask) * 8 ) )) ];
} fd_set;
extern void bzero (char *, int) ;
struct timeval;
int select (int, fd_set *, fd_set *, fd_set *, struct timeval *) ;
# 400 "/usr/local/lib/gcc-lib/alpha-dec-osf3.2/2.7.1/include/sys/types.h" 2 3
# 361 "/usr/local/lib/gcc-lib/alpha-dec-osf3.2/2.7.1/include/stdio.h" 2 3
extern int fileno (FILE *) ;
extern FILE *fdopen (int, const char *) ;
extern char *cuserid (char *) ;
# 1 "/usr/include/getopt.h" 1 3
extern int getopt (int, char * const [], const char *) ;
extern char *optarg;
extern int optind;
extern int optopt;
extern int opterr;
# 389 "/usr/local/lib/gcc-lib/alpha-dec-osf3.2/2.7.1/include/stdio.h" 2 3
extern char *ctermid (char *) ;
extern int getw (FILE *) ;
extern int pclose (FILE *) ;
extern int putw (int, FILE*) ;
extern FILE *popen (const char *, const char *) ;
extern char *tempnam (const char*, const char*) ;
# 1 "/usr/local/lib/gcc-lib/alpha-dec-osf3.2/2.7.1/include/sys/limits.h" 1 3
# 1 "/usr/include/machine/machlimits.h" 1 3
# 80 "/usr/local/lib/gcc-lib/alpha-dec-osf3.2/2.7.1/include/sys/limits.h" 2 3
# 1 "/usr/include/sys/syslimits.h" 1 3
# 142 "/usr/local/lib/gcc-lib/alpha-dec-osf3.2/2.7.1/include/sys/limits.h" 2 3
# 1 "/usr/include/machine/machtime.h" 1 3
# 227 "/usr/local/lib/gcc-lib/alpha-dec-osf3.2/2.7.1/include/sys/limits.h" 2 3
# 1 "/usr/include/sys/rt_limits.h" 1 3
# 241 "/usr/local/lib/gcc-lib/alpha-dec-osf3.2/2.7.1/include/sys/limits.h" 2 3
# 408 "/usr/local/lib/gcc-lib/alpha-dec-osf3.2/2.7.1/include/stdio.h" 2 3
extern void setbuffer (FILE *, char*, int) ;
extern void setlinebuf (FILE *) ;
# 485 "/usr/local/lib/gcc-lib/alpha-dec-osf3.2/2.7.1/include/stdio.h" 3
# 56 "../Include/allobjects.h" 2
# 1 "/usr/local/lib/gcc-lib/alpha-dec-osf3.2/2.7.1/include/string.h" 1 3
# 94 "/usr/local/lib/gcc-lib/alpha-dec-osf3.2/2.7.1/include/string.h" 3
extern void *memchr(const void *, int , size_t );
extern void *memcpy(void *, const void *, size_t );
extern void *memset(void *, int , size_t );
extern size_t strcspn(const char *, const char *);
extern size_t strlen(const char *);
extern size_t strspn(const char *, const char *);
# 129 "/usr/local/lib/gcc-lib/alpha-dec-osf3.2/2.7.1/include/string.h" 3
extern void *memmove(void *, const void *, size_t );
extern char *strcpy(char *, const char *);
extern char *strncpy(char *, const char *, size_t );
extern char *strcat(char *, const char *);
extern char *strncat(char *, const char *, size_t );
extern int memcmp(const void *, const void *,size_t );
extern int strcmp(const char *, const char *);
extern int strcoll(const char *, const char *);
extern int strncmp(const char *,const char *,size_t );
extern size_t strxfrm(char *, const char *, size_t );
extern char *strchr(const char *, int );
extern char *strpbrk(const char *, const char *);
extern char *strrchr(const char *, int );
extern char *strstr(const char *, const char *);
extern char *strtok(char *, const char *);
extern char *strerror(int);
extern void *memccpy(void *, const void *, int , size_t );
extern void swab(const void *, void *, ssize_t);
# 212 "/usr/local/lib/gcc-lib/alpha-dec-osf3.2/2.7.1/include/string.h" 3
extern int ffs(int);
extern void bzero(char *, int);
extern int bcmp(const char *, const char *, int);
extern void bcopy(const char *, char *, int);
extern char *strdup(const char *);
extern int strcasecmp(const char *, const char *);
extern int strncasecmp(const char *, const char *, size_t );
extern char *index(const char*, int);
extern char *rindex(const char*, int);
extern char *basename(char *);
extern char *dirname(char *);
# 57 "../Include/allobjects.h" 2
# 1 "/usr/local/lib/gcc-lib/alpha-dec-osf3.2/2.7.1/include/errno.h" 1 3
# 77 "/usr/local/lib/gcc-lib/alpha-dec-osf3.2/2.7.1/include/errno.h" 3
extern int errno;
int _Geterrno (void) ;
int _Seterrno (int) ;
extern void perror (const char *) ;
extern char *sys_errlist[];
extern int sys_nerr;
extern int errno;
# 58 "../Include/allobjects.h" 2
# 1 "../Include/myproto.h" 1
# 1 "../Include/rename2.h" 1
# 46 "../Include/myproto.h" 2
# 60 "../Include/allobjects.h" 2
# 1 "../Include/object.h" 1
# 92 "../Include/object.h"
typedef struct _object {
int ob_refcnt; struct _typeobject *ob_type;
} PyObject;
typedef struct {
int ob_refcnt; struct _typeobject *ob_type; int ob_size;
} varobject;
typedef PyObject * (*unaryfunc) (PyObject *) ;
typedef PyObject * (*binaryfunc) (PyObject *, PyObject *) ;
typedef PyObject * (*ternaryfunc) (PyObject *, PyObject *, PyObject *) ;
typedef int (*inquiry) (PyObject *) ;
typedef int (*coercion) (PyObject **, PyObject **) ;
typedef PyObject *(*intargfunc) (PyObject *, int) ;
typedef PyObject *(*intintargfunc) (PyObject *, int, int) ;
typedef int(*intobjargproc) (PyObject *, int, PyObject *) ;
typedef int(*intintobjargproc) (PyObject *, int, int, PyObject *) ;
typedef int(*objobjargproc) (PyObject *, PyObject *, PyObject *) ;
typedef struct {
binaryfunc nb_add;
binaryfunc nb_subtract;
binaryfunc nb_multiply;
binaryfunc nb_divide;
binaryfunc nb_remainder;
binaryfunc nb_divmod;
ternaryfunc nb_power;
unaryfunc nb_negative;
unaryfunc nb_positive;
unaryfunc nb_absolute;
inquiry nb_nonzero;
unaryfunc nb_invert;
binaryfunc nb_lshift;
binaryfunc nb_rshift;
binaryfunc nb_and;
binaryfunc nb_xor;
binaryfunc nb_or;
coercion nb_coerce;
unaryfunc nb_int;
unaryfunc nb_long;
unaryfunc nb_float;
unaryfunc nb_oct;
unaryfunc nb_hex;
} PyNumberMethods;
typedef struct {
inquiry sq_length;
binaryfunc sq_concat;
intargfunc sq_repeat;
intargfunc sq_item;
intintargfunc sq_slice;
intobjargproc sq_ass_item;
intintobjargproc sq_ass_slice;
} PySequenceMethods;
typedef struct {
inquiry mp_length;
binaryfunc mp_subscript;
objobjargproc mp_ass_subscript;
} PyMappingMethods;
typedef void (*destructor) (PyObject *) ;
typedef int (*printfunc) (PyObject *, FILE *, int) ;
typedef PyObject *(*getattrfunc) (PyObject *, char *) ;
typedef int (*setattrfunc) (PyObject *, char *, PyObject *) ;
typedef int (*cmpfunc) (PyObject *, PyObject *) ;
typedef PyObject *(*reprfunc) (PyObject *) ;
typedef long (*hashfunc) (PyObject *) ;
typedef struct _typeobject {
int ob_refcnt; struct _typeobject *ob_type; int ob_size;
char *tp_name;
int tp_basicsize, tp_itemsize;
destructor tp_dealloc;
printfunc tp_print;
getattrfunc tp_getattr;
setattrfunc tp_setattr;
cmpfunc tp_compare;
reprfunc tp_repr;
PyNumberMethods *tp_as_number;
PySequenceMethods *tp_as_sequence;
PyMappingMethods *tp_as_mapping;
hashfunc tp_hash;
ternaryfunc tp_call;
reprfunc tp_str;
long tp_xxx1;
long tp_xxx2;
long tp_xxx3;
long tp_xxx4;
char *tp_doc;
} PyTypeObject;
extern PyTypeObject PyType_Type;
extern int PyObject_Print (PyObject *, FILE *, int) ;
extern PyObject * PyObject_Repr (PyObject *) ;
extern PyObject * PyObject_Str (PyObject *) ;
extern int PyObject_Compare (PyObject *, PyObject *) ;
extern PyObject *PyObject_GetAttrString (PyObject *, char *) ;
extern int PyObject_SetAttrString (PyObject *, char *, PyObject *) ;
extern int PyObject_HasAttrString (PyObject *, char *) ;
extern PyObject *PyObject_GetAttr (PyObject *, PyObject *) ;
extern int PyObject_SetAttr (PyObject *, PyObject *, PyObject *) ;
extern long PyObject_Hash (PyObject *) ;
extern int PyObject_IsTrue (PyObject *) ;
extern int PyCallable_Check (PyObject *) ;
# 325 "../Include/object.h"
extern PyObject _Py_NoneStruct;
# 66 "../Include/allobjects.h" 2
# 1 "../Include/objimpl.h" 1
extern PyObject *_PyObject_New (PyTypeObject *) ;
extern varobject *_PyObject_NewVar (PyTypeObject *, int) ;
# 67 "../Include/allobjects.h" 2
# 1 "../Include/accessobject.h" 1
extern PyTypeObject PyAccess_Type;
PyObject *PyAccess_FromValue (PyObject *, PyObject *, PyTypeObject *, int) ;
PyObject *PyAccess_AsValue (PyObject *, PyObject *) ;
int PyAccess_SetValue (PyObject *, PyObject *, PyObject *) ;
void PyAccess_SetOwner (PyObject *, PyObject *) ;
PyObject *PyAccess_Clone (PyObject *) ;
int PyAccess_HasValue (PyObject *) ;
extern PyTypeObject PyAnyNumber_Type, PyAnySequence_Type, PyAnyMapping_Type;
# 69 "../Include/allobjects.h" 2
# 1 "../Include/intobject.h" 1
typedef struct {
int ob_refcnt; struct _typeobject *ob_type;
long ob_ival;
} PyIntObject;
extern PyTypeObject PyInt_Type;
extern PyObject *PyInt_FromLong (long) ;
extern long PyInt_AsLong (PyObject *) ;
extern PyIntObject _Py_ZeroStruct, _Py_TrueStruct;
# 70 "../Include/allobjects.h" 2
# 1 "../Include/longobject.h" 1
typedef struct _longobject PyLongObject;
extern PyTypeObject PyLong_Type;
extern PyObject *PyLong_FromLong (long) ;
extern PyObject *PyLong_FromDouble (double) ;
extern long PyLong_AsLong (PyObject *) ;
extern double PyLong_AsDouble (PyObject *) ;
PyObject *PyLong_FromString (char *, char **, int) ;
# 71 "../Include/allobjects.h" 2
# 1 "../Include/floatobject.h" 1
typedef struct {
int ob_refcnt; struct _typeobject *ob_type;
double ob_fval;
} PyFloatObject;
extern PyTypeObject PyFloat_Type;
extern PyObject *PyFloat_FromDouble (double) ;
extern double PyFloat_AsDouble (PyObject *) ;
# 72 "../Include/allobjects.h" 2
# 1 "../Include/rangeobject.h" 1
extern PyTypeObject PyRange_Type;
extern PyObject *PyRange_New (long, long, long, int) ;
# 73 "../Include/allobjects.h" 2
# 1 "../Include/stringobject.h" 1
typedef struct {
int ob_refcnt; struct _typeobject *ob_type; int ob_size;
char ob_sval[1];
} PyStringObject;
extern PyTypeObject PyString_Type;
extern PyObject *PyString_FromStringAndSize (char *, int) ;
extern PyObject *PyString_FromString (char *) ;
extern int PyString_Size (PyObject *) ;
extern char *PyString_AsString (PyObject *) ;
extern void PyString_Concat (PyObject **, PyObject *) ;
extern void PyString_ConcatAndDel (PyObject **, PyObject *) ;
extern int _PyString_Resize (PyObject **, int) ;
extern PyObject *PyString_Format (PyObject *, PyObject *) ;
# 74 "../Include/allobjects.h" 2
# 1 "../Include/tupleobject.h" 1
typedef struct {
int ob_refcnt; struct _typeobject *ob_type; int ob_size;
PyObject *ob_item[1];
} PyTupleObject;
extern PyTypeObject PyTuple_Type;
extern PyObject *PyTuple_New (int size) ;
extern int PyTuple_Size (PyObject *) ;
extern PyObject *PyTuple_GetItem (PyObject *, int) ;
extern int PyTuple_SetItem (PyObject *, int, PyObject *) ;
extern PyObject *PyTuple_GetSlice (PyObject *, int, int) ;
extern int _PyTuple_Resize (PyObject **, int, int) ;
# 75 "../Include/allobjects.h" 2
# 1 "../Include/listobject.h" 1
typedef struct {
int ob_refcnt; struct _typeobject *ob_type; int ob_size;
PyObject **ob_item;
} PyListObject;
extern PyTypeObject PyList_Type;
extern PyObject *PyList_New (int size) ;
extern int PyList_Size (PyObject *) ;
extern PyObject *PyList_GetItem (PyObject *, int) ;
extern int PyList_SetItem (PyObject *, int, PyObject *) ;
extern int PyList_Insert (PyObject *, int, PyObject *) ;
extern int PyList_Append (PyObject *, PyObject *) ;
extern PyObject *PyList_GetSlice (PyObject *, int, int) ;
extern int PyList_SetSlice (PyObject *, int, int, PyObject *) ;
extern int PyList_Sort (PyObject *) ;
extern int PyList_Reverse (PyObject *) ;
extern PyObject *PyList_AsTuple (PyObject *) ;
# 76 "../Include/allobjects.h" 2
# 1 "../Include/mappingobject.h" 1
extern PyTypeObject PyDict_Type;
extern PyObject *PyDict_New (void) ;
extern PyObject *PyDict_GetItem (PyObject *mp, PyObject *key) ;
extern int PyDict_SetItem (PyObject *mp, PyObject *key, PyObject *item) ;
extern int PyDict_DelItem (PyObject *mp, PyObject *key) ;
extern void PyDict_Clear (PyObject *mp) ;
extern int PyDict_Next
(PyObject *mp, int *pos, PyObject **key, PyObject **value) ;
extern PyObject *PyDict_Keys (PyObject *mp) ;
extern PyObject *PyDict_Values (PyObject *mp) ;
extern PyObject *PyDict_Items (PyObject *mp) ;
extern int PyDict_Size (PyObject *mp) ;
extern PyObject *PyDict_GetItemString (PyObject *dp, char *key) ;
extern int PyDict_SetItemString (PyObject *dp, char *key, PyObject *item) ;
extern int PyDict_DelItemString (PyObject *dp, char *key) ;
# 77 "../Include/allobjects.h" 2
# 1 "../Include/methodobject.h" 1
extern PyTypeObject PyCFunction_Type;
typedef PyObject *(*PyCFunction) (PyObject *, PyObject *) ;
typedef PyObject *(*PyCFunctionWithKeywords)
(PyObject *, PyObject *, PyObject *) ;
extern PyCFunction PyCFunction_GetFunction (PyObject *) ;
extern PyObject *PyCFunction_GetSelf (PyObject *) ;
extern int PyCFunction_GetFlags (PyObject *) ;
struct PyMethodDef {
char *ml_name;
PyCFunction ml_meth;
int ml_flags;
char *ml_doc;
};
typedef struct PyMethodDef PyMethodDef;
extern PyObject *Py_FindMethod
(PyMethodDef[], PyObject *, char *) ;
extern PyObject *PyCFunction_New
(PyMethodDef *, PyObject *) ;
typedef struct PyMethodChain {
PyMethodDef *methods;
struct PyMethodChain *link;
} PyMethodChain;
extern PyObject *Py_FindMethodInChain
(PyMethodChain *, PyObject *, char *) ;
# 78 "../Include/allobjects.h" 2
# 1 "../Include/moduleobject.h" 1
extern PyTypeObject PyModule_Type;
extern PyObject *PyModule_New (char *) ;
extern PyObject *PyModule_GetDict (PyObject *) ;
extern char *PyModule_GetName (PyObject *) ;
# 79 "../Include/allobjects.h" 2
# 1 "../Include/funcobject.h" 1
typedef struct {
int ob_refcnt; struct _typeobject *ob_type;
PyObject *func_code;
PyObject *func_globals;
PyObject *func_defaults;
PyObject *func_doc;
PyObject *func_name;
} PyFunctionObject;
extern PyTypeObject PyFunction_Type;
extern PyObject *PyFunction_New (PyObject *, PyObject *) ;
extern PyObject *PyFunction_GetCode (PyObject *) ;
extern PyObject *PyFunction_GetGlobals (PyObject *) ;
extern PyObject *PyFunction_GetDefaults (PyObject *) ;
extern int PyFunction_SetDefaults (PyObject *, PyObject *) ;
# 80 "../Include/allobjects.h" 2
# 1 "../Include/classobject.h" 1
typedef struct {
int ob_refcnt; struct _typeobject *ob_type;
PyObject *cl_bases;
PyObject *cl_dict;
PyObject *cl_name;
PyObject *cl_getattr;
PyObject *cl_setattr;
PyObject *cl_delattr;
} PyClassObject;
typedef struct {
int ob_refcnt; struct _typeobject *ob_type;
PyClassObject *in_class;
PyObject *in_dict;
} PyInstanceObject;
extern PyTypeObject PyClass_Type, PyInstance_Type, PyMethod_Type;
extern PyObject *PyClass_New (PyObject *, PyObject *, PyObject *) ;
extern PyObject *PyInstance_New (PyObject *, PyObject *, PyObject *) ;
extern PyObject *PyMethod_New (PyObject *, PyObject *, PyObject *) ;
extern PyObject *PyMethod_Function (PyObject *) ;
extern PyObject *PyMethod_Self (PyObject *) ;
extern PyObject *PyMethod_Class (PyObject *) ;
extern int PyClass_IsSubclass (PyObject *, PyObject *) ;
extern PyObject *PyInstance_DoBinOp
(PyObject *, PyObject *,
char *, char *,
PyObject * (*) (PyObject *, PyObject *) ) ;
# 81 "../Include/allobjects.h" 2
# 1 "../Include/fileobject.h" 1
extern PyTypeObject PyFile_Type;
extern PyObject *PyFile_FromString (char *, char *) ;
extern void PyFile_SetBufSize (PyObject *, int) ;
extern PyObject *PyFile_FromFile
(FILE *, char *, char *, int (*) (FILE *) ) ;
extern FILE *PyFile_AsFile (PyObject *) ;
extern PyObject *PyFile_Name (PyObject *) ;
extern PyObject *PyFile_GetLine (PyObject *, int) ;
# 82 "../Include/allobjects.h" 2
# 1 "../Include/errors.h" 1
void PyErr_SetNone (PyObject *) ;
void PyErr_SetObject (PyObject *, PyObject *) ;
void PyErr_SetString (PyObject *, char *) ;
PyObject *PyErr_Occurred (void) ;
void PyErr_Clear (void) ;
void PyErr_Fetch (PyObject **, PyObject **, PyObject **) ;
void PyErr_Restore (PyObject *, PyObject *, PyObject *) ;
extern PyObject * PyExc_AccessError;
extern PyObject * PyExc_AttributeError;
extern PyObject * PyExc_ConflictError;
extern PyObject * PyExc_EOFError;
extern PyObject * PyExc_IOError;
extern PyObject * PyExc_ImportError;
extern PyObject * PyExc_IndexError;
extern PyObject * PyExc_KeyError;
extern PyObject * PyExc_KeyboardInterrupt;
extern PyObject * PyExc_MemoryError;
extern PyObject * PyExc_NameError;
extern PyObject * PyExc_OverflowError;
extern PyObject * PyExc_RuntimeError;
extern PyObject * PyExc_SyntaxError;
extern PyObject * PyExc_SystemError;
extern PyObject * PyExc_SystemExit;
extern PyObject * PyExc_TypeError;
extern PyObject * PyExc_ValueError;
extern PyObject * PyExc_ZeroDivisionError;
extern int PyErr_BadArgument (void) ;
extern PyObject *PyErr_NoMemory (void) ;
extern PyObject *PyErr_SetFromErrno (PyObject *) ;
extern void PyErr_BadInternalCall (void) ;
extern int PyErr_CheckSignals (void) ;
# 84 "../Include/allobjects.h" 2
# 1 "../Include/mymalloc.h" 1
# 1 "/usr/local/lib/gcc-lib/alpha-dec-osf3.2/2.7.1/include/stdlib.h" 1 3
# 82 "/usr/local/lib/gcc-lib/alpha-dec-osf3.2/2.7.1/include/stdlib.h" 3
# 114 "/usr/local/lib/gcc-lib/alpha-dec-osf3.2/2.7.1/include/stdlib.h" 3
typedef struct div_t {
int quot;
int rem; } div_t;
typedef struct ldiv_t {
long int quot;
long int rem; } ldiv_t;
extern int __getmbcurmax (void) ;
extern int mblen (const char *, size_t) ;
extern size_t mbstowcs (wchar_t *, const char *, size_t) ;
extern int mbtowc (wchar_t *, const char *, size_t) ;
extern size_t wcstombs (char *, const wchar_t *, size_t) ;
extern int wctomb (char *, wchar_t) ;
extern int rpmatch (const char *) ;
extern void *valloc (register size_t ) ;
extern double atof (const char *) ;
extern int atoi (const char *) ;
extern long int atol (const char *) ;
extern double strtod (const char *, char **) ;
extern long int strtol (const char *, char **, int ) ;
extern unsigned long int strtoul (const char *, char **, int ) ;
extern int rand (void) ;
extern void srand (unsigned int ) ;
extern void *calloc (size_t , size_t ) ;
extern void free (void *) ;
extern void *malloc (size_t ) ;
extern void *realloc (void *, size_t ) ;
extern void abort (void) ;
extern int atexit (void (*)(void)) ;
extern void exit (int ) ;
extern char *getenv (const char *) ;
extern int system (const char *) ;
extern void *bsearch (const void *, const void *, size_t , size_t , int(*)(const void *, const void *)) ;
extern void qsort (void *, size_t , size_t ,int(*)(const void *, const void *)) ;
extern int abs (int ) ;
extern struct div_t div (int , int ) ;
extern long int labs (long int ) ;
extern struct ldiv_t ldiv (long int , long int ) ;
# 208 "/usr/local/lib/gcc-lib/alpha-dec-osf3.2/2.7.1/include/stdlib.h" 3
extern double drand48 (void) ;
extern double erand48 (unsigned short []) ;
extern long jrand48 (unsigned short []) ;
extern void lcong48 (unsigned short []) ;
extern long lrand48 (void) ;
extern long mrand48 (void) ;
extern long nrand48 (unsigned short []) ;
extern unsigned short *seed48 (unsigned short []) ;
extern void srand48 (long) ;
extern int putenv (const char *) ;
extern void setkey (const char *) ;
# 233 "/usr/local/lib/gcc-lib/alpha-dec-osf3.2/2.7.1/include/stdlib.h" 3
extern int srandom (unsigned int) ;
extern char *initstate (unsigned int, char *, int) ;
extern char *setstate (char *) ;
extern int random (void) ;
# 277 "/usr/local/lib/gcc-lib/alpha-dec-osf3.2/2.7.1/include/stdlib.h" 3
extern int clearenv () ;
extern char *getpass (const char *) ;
extern char *mktemp (char *) ;
extern int mkstemp (char *) ;
char *ecvt (double, int, int *, int *) ;
char *fcvt (double, int, int *, int *) ;
char *gcvt (double, int, char *) ;
# 50 "../Include/mymalloc.h" 2
# 85 "../Include/allobjects.h" 2
# 1 "../Include/modsupport.h" 1
# 1 "/usr/local/lib/gcc-lib/alpha-dec-osf3.2/2.7.1/include/stdarg.h" 1 3
# 1 "/usr/local/lib/gcc-lib/alpha-dec-osf3.2/2.7.1/include/va-alpha.h" 1 3
enum {
__no_type_class = -1,
__void_type_class,
__integer_type_class,
__char_type_class,
__enumeral_type_class,
__boolean_type_class,
__pointer_type_class,
__reference_type_class,
__offset_type_class,
__real_type_class,
__complex_type_class,
__function_type_class,
__method_type_class,
__record_type_class,
__union_type_class,
__array_type_class,
__string_type_class,
__set_type_class,
__file_type_class,
__lang_type_class
};
# 36 "/usr/local/lib/gcc-lib/alpha-dec-osf3.2/2.7.1/include/stdarg.h" 2 3
# 98 "/usr/local/lib/gcc-lib/alpha-dec-osf3.2/2.7.1/include/stdarg.h" 3
# 137 "/usr/local/lib/gcc-lib/alpha-dec-osf3.2/2.7.1/include/stdarg.h" 3
# 167 "/usr/local/lib/gcc-lib/alpha-dec-osf3.2/2.7.1/include/stdarg.h" 3
# 35 "../Include/modsupport.h" 2
extern int PyArg_Parse (PyObject *, char *, ...) ;
extern int PyArg_ParseTuple (PyObject *, char *, ...) ;
extern PyObject *Py_BuildValue (char *, ...) ;
# 50 "../Include/modsupport.h"
extern int PyArg_VaParse (PyObject *, char *, __gnuc_va_list ) ;
extern PyObject *Py_VaBuildValue (char *, __gnuc_va_list ) ;
extern PyObject *Py_InitModule4 (char *, PyMethodDef *,
char *, PyObject *, int) ;
# 87 "../Include/allobjects.h" 2
# 1 "../Include/ceval.h" 1
PyObject *PyEval_CallObject (PyObject *, PyObject *) ;
PyObject *PyEval_CallObjectWithKeywords
(PyObject *, PyObject *, PyObject *) ;
PyObject *PyEval_GetBuiltins (void) ;
PyObject *PyEval_GetGlobals (void) ;
PyObject *PyEval_GetLocals (void) ;
PyObject *PyEval_GetOwner (void) ;
PyObject *PyEval_GetFrame (void) ;
int PyEval_GetRestricted (void) ;
void Py_FlushLine (void) ;
int Py_AddPendingCall (int (*func) (void *) , void *arg) ;
int Py_MakePendingCalls (void) ;
extern void PyEval_InitThreads (void) ;
extern PyObject *PyEval_SaveThread (void) ;
extern void PyEval_RestoreThread (PyObject *) ;
# 109 "../Include/ceval.h"
# 88 "../Include/allobjects.h" 2
# 1 "../Include/abstract.h" 1
int PyObject_Cmp (PyObject *o1, PyObject *o2, int *result) ;
int PyCallable_Check (PyObject *o) ;
PyObject *PyObject_CallObject (PyObject *callable_object,
PyObject *args) ;
PyObject *PyObject_CallFunction (PyObject *callable_object,
char *format, ...) ;
PyObject *PyObject_CallMethod (PyObject *o, char *m,
char *format, ...) ;
PyObject *PyObject_Type (PyObject *o) ;
int PyObject_Length (PyObject *o) ;
PyObject *PyObject_GetItem (PyObject *o, PyObject *key) ;
int PyObject_SetItem (PyObject *o, PyObject *key, PyObject *v) ;
int PyNumber_Check (PyObject *o) ;
PyObject *PyNumber_Add (PyObject *o1, PyObject *o2) ;
PyObject *PyNumber_Subtract (PyObject *o1, PyObject *o2) ;
PyObject *PyNumber_Multiply (PyObject *o1, PyObject *o2) ;
PyObject *PyNumber_Divide (PyObject *o1, PyObject *o2) ;
PyObject *PyNumber_Remainder (PyObject *o1, PyObject *o2) ;
PyObject *PyNumber_Divmod (PyObject *o1, PyObject *o2) ;
PyObject *PyNumber_Power (PyObject *o1, PyObject *o2, PyObject *o3) ;
PyObject *PyNumber_Negative (PyObject *o) ;
PyObject *PyNumber_Positive (PyObject *o) ;
PyObject *PyNumber_Absolute (PyObject *o) ;
PyObject *PyNumber_Invert (PyObject *o) ;
PyObject *PyNumber_Lshift (PyObject *o1, PyObject *o2) ;
PyObject *PyNumber_Rshift (PyObject *o1, PyObject *o2) ;
PyObject *PyNumber_And (PyObject *o1, PyObject *o2) ;
PyObject *PyNumber_Xor (PyObject *o1, PyObject *o2) ;
PyObject *PyNumber_Or (PyObject *o1, PyObject *o2) ;
PyObject *PyNumber_Int (PyObject *o) ;
PyObject *PyNumber_Long (PyObject *o) ;
PyObject *PyNumber_Float (PyObject *o) ;
int PySequence_Check (PyObject *o) ;
PyObject *PySequence_Concat (PyObject *o1, PyObject *o2) ;
PyObject *PySequence_Repeat (PyObject *o, int count) ;
PyObject *PySequence_GetItem (PyObject *o, int i) ;
PyObject *PySequence_GetSlice (PyObject *o, int i1, int i2) ;
int PySequence_SetItem (PyObject *o, int i, PyObject *v) ;
int PySequence_SetSlice (PyObject *o, int i1, int i2, PyObject *v) ;
PyObject *PySequence_Tuple (PyObject *o) ;
int PySequence_Count (PyObject *o, PyObject *value) ;
int PySequence_In (PyObject *o, PyObject *value) ;
int PySequence_Index (PyObject *o, PyObject *value) ;
int PyMapping_Check (PyObject *o) ;
int PyMapping_Length (PyObject *o) ;
int PyMapping_DelItemString (PyObject *o, char *key) ;
int PyMapping_DelItem (PyObject *o, PyObject *key) ;
int PyMapping_HasKeyString (PyObject *o, char *key) ;
int PyMapping_HasKey (PyObject *o, PyObject *key) ;
PyObject *PyMapping_GetItemString (PyObject *o, char *key) ;
int PyMapping_SetItemString (PyObject *o, char *key,
PyObject *value) ;
# 90 "../Include/allobjects.h" 2
extern void Py_FatalError (char *) ;
# 27 "selectmodule.c" 2
# 1 "../Include/myselect.h" 1
# 1 "../Include/mytime.h" 1
# 1 "/usr/include/sys/time.h" 1 3
# 1 "/usr/include/sys/signal.h" 1 3
# 1 "/usr/include/sys/siginfo.h" 1 3
typedef union sigval {
int sival_int;
void *sival_ptr;
} sigval_t;
typedef struct siginfo {
int si_signo;
int si_errno;
int si_code;
union {
int _sipad[(((128) /sizeof(int)) - 4) ];
struct {
pid_t _pid;
union {
struct {
uid_t _uid;
} _kill;
struct {
int _status;
clock_t _utime;
clock_t _stime;
} _sigchld;
} _pinfo;
struct {
sigval_t _sigval;
} _sigrt;
} _sigproc;
struct {
caddr_t _addr;
} _sigfault;
struct {
long _band;
int _fd;
} _sigpoll;
struct {
sigval_t _siganonval;
} _siganon;
} _sifields;
} siginfo_t;
# 395 "/usr/include/sys/siginfo.h" 3
# 54 "/usr/include/sys/signal.h" 2 3
extern void (*signal (int, void (*)(int)) ) (int) ;
extern int raise (int) ;
# 145 "/usr/include/sys/signal.h" 3
# 194 "/usr/include/sys/signal.h" 3
struct sigaction {
union {
void (*sa_handler) (int) ;
void (*sa_sigaction) (int, struct siginfo *, void *) ;
} _sa_un;
sigset_t sa_mask;
int sa_flags;
};
typedef struct sigevent {
union sigval sigev_value;
int sigev_signo;
int sigev_notify;
} sigevent_t;
extern int sigwaitprim (sigset_t, ...) ;
extern int kill (pid_t , int ) ;
extern int sigaction (int , const struct sigaction *, struct sigaction *) ;
extern int sigprocmask (int , const sigset_t *, sigset_t *) ;
extern int sigsuspend (const sigset_t *) ;
extern int sigemptyset (sigset_t *) ;
extern int sigfillset (sigset_t *) ;
extern int sigaddset (sigset_t *, int ) ;
extern int sigdelset (sigset_t *, int ) ;
extern int sigismember (const sigset_t *, int ) ;
extern int sigpending (sigset_t *) ;
# 1 "/usr/include/machine/signal.h" 1 3
typedef int sig_atomic_t;
# 109 "/usr/include/machine/signal.h" 3
struct sigcontext {
long sc_onstack;
long sc_mask;
long sc_pc;
long sc_ps;
long sc_regs[32];
long sc_ownedfp;
long sc_fpregs[32];
unsigned long sc_fpcr;
unsigned long sc_fp_control;
long sc_reserved1;
int sc_kreserved1;
int sc_kreserved2;
size_t sc_ssize;
caddr_t sc_sbase;
unsigned long sc_traparg_a0;
unsigned long sc_traparg_a1;
unsigned long sc_traparg_a2;
unsigned long sc_fp_trap_pc;
unsigned long sc_fp_trigger_sum;
unsigned long sc_fp_trigger_inst;
};
# 278 "/usr/include/sys/signal.h" 2 3
extern sigset_t cantmasksigset;
struct sigvec {
void (*sv_handler) (int) ;
int sv_mask;
int sv_flags;
};
extern int sigvec (int, struct sigvec *, struct sigvec *) ;
extern int killpg (pid_t, int) ;
# 372 "/usr/include/sys/signal.h" 3
struct sigstack {
char *ss_sp;
int ss_onstack;
};
typedef struct sigaltstack {
caddr_t ss_sp;
int ss_flags;
size_t ss_size;
} stack_t;
extern int sigblock (int) ;
extern int sigpause (int) ;
extern int sigreturn (struct sigcontext *) ;
extern int sigsetmask (int) ;
extern int sigstack (struct sigstack *, struct sigstack *) ;
extern int siginterrupt (int, int) ;
extern void (*sigset (int, void (*)(int)) ) (int) ;
extern int sighold (int) ;
extern int sigrelse (int) ;
extern int sigignore (int) ;
extern int sigaltstack (stack_t *, stack_t *) ;
# 1 "/usr/include/sys/procset.h" 1 3
typedef enum idop {
POP_DIFF,
POP_AND,
POP_OR,
POP_XOR
} idop_t;
typedef enum idtype {
P_PID,
P_PPID,
P_PGID,
P_SID,
P_CID,
P_UID,
P_GID,
P_ALL
} idtype_t;
typedef struct procset {
idop_t p_op;
idtype_t p_lidtype;
id_t p_lid;
idtype_t p_ridtype;
id_t p_rid;
} procset_t;
# 495 "/usr/include/sys/signal.h" 2 3
extern int sigsendset (const procset_t *, int) ;
extern int sigsend (idtype_t, id_t, int) ;
int (*ssignal (int, int (*)(int)) ) (int) ;
int gsignal (int) ;
# 650 "/usr/include/sys/signal.h" 3
# 65 "/usr/include/sys/time.h" 2 3
# 84 "/usr/include/sys/time.h" 3
# 1 "/usr/local/lib/gcc-lib/alpha-dec-osf3.2/2.7.1/include/time.h" 1 3
typedef int clockid_t;
struct tm {
int tm_sec;
int tm_min;
int tm_hour;
int tm_mday;
int tm_mon;
int tm_year;
int tm_wday;
int tm_yday;
int tm_isdst;
long tm_gmtoff;
char *tm_zone;
};
extern clock_t clock (void) ;
extern double difftime (time_t , time_t ) ;
extern time_t mktime (struct tm *) ;
extern time_t time (time_t *) ;
extern char *asctime (const struct tm *) ;
extern char *ctime (const time_t *) ;
extern struct tm *gmtime (const time_t *) ;
extern struct tm *localtime (const time_t *) ;
extern size_t strftime (char *, size_t , const char *,const struct tm *) ;
# 1 "/usr/include/sys/timers.h" 1 3
# 1 "/usr/local/lib/gcc-lib/alpha-dec-osf3.2/2.7.1/include/time.h" 1 3
# 226 "/usr/local/lib/gcc-lib/alpha-dec-osf3.2/2.7.1/include/time.h" 3
# 45 "/usr/include/sys/timers.h" 2 3
typedef struct timespec {
time_t tv_sec;
long tv_nsec;
} timespec_t;
# 96 "/usr/include/sys/timers.h" 3
struct itimerspec {
struct timespec it_interval;
struct timespec it_value;
};
# 186 "/usr/include/sys/timers.h" 3
int clock_gettime(clockid_t clock_id, struct timespec *tp);
int clock_settime(clockid_t clock_id, const struct timespec *tp);
int clock_getdrift(int clock_id, int *oppb);
int clock_setdrift(int clock_id, const int ppb, int *oppb);
int timer_create(clockid_t clock_id, struct sigevent *evp,
timer_t *timer_created);
int timer_delete(timer_t timerid);
int timer_gettime(timer_t timerid, struct itimerspec *value);
int timer_settime(timer_t timerid, int flags, const struct itimerspec *value,
struct itimerspec *ovalue);
int timer_getoverrun(timer_t timerid);
int nanosleep(struct timespec *rqtp, struct timespec *rmtp);
# 213 "/usr/include/sys/timers.h" 3
int clock_getres(clockid_t clock_id,struct timespec *res);
# 167 "/usr/local/lib/gcc-lib/alpha-dec-osf3.2/2.7.1/include/time.h" 2 3
extern char *tzname[];
extern void tzset (void) ;
extern long timezone;
extern int daylight;
extern char *strptime (const char *, const char *, struct tm *) ;
extern unsigned char *NLctime (long *) ;
extern unsigned char *NLasctime (struct tm *) ;
extern char *NLstrtime (char *, size_t , const char *, const struct tm *) ;
struct tm *getdate (char *) ;
# 85 "/usr/include/sys/time.h" 2 3
struct timeval {
int tv_sec;
int tv_usec;
};
struct itimerval {
struct timeval it_interval;
struct timeval it_value;
};
struct timezone {
int tz_minuteswest;
int tz_dsttime;
};
extern int adjtime (struct timeval *, struct timeval *) ;
extern int getitimer (int, struct itimerval *) ;
extern int setitimer (int, struct itimerval *, struct itimerval *) ;
extern int gettimeofday (struct timeval *, struct timezone *) ;
extern int settimeofday (struct timeval *, struct timezone *) ;
extern int utimes (const char *, struct timeval *) ;
# 227 "/usr/include/sys/time.h" 3
# 251 "/usr/include/sys/time.h" 3
# 34 "../Include/mytime.h" 2
# 40 "../Include/myselect.h" 2
# 76 "../Include/myselect.h"
# 32 "selectmodule.c" 2
static PyObject *SelectError;
static
list2set(list, set, fd2obj)
PyObject *list;
fd_set *set;
PyObject *fd2obj[4096 ];
{
int i, len, v, max = -1;
PyObject *o, *filenomethod, *fno;
for ( i=0; i< 4096 ; i++ ) {
fd2obj[i] = (PyObject *)0;
}
bzero((char *)( set ), sizeof(*( set ))) ;
len = PyList_Size (list);
for( i=0; i<len; i++ ) {
o = PyList_GetItem (list, i);
if ( (( o )->ob_type == &PyInt_Type) ) {
v = PyInt_AsLong (o);
} else if ( (filenomethod = PyObject_GetAttrString (o, "fileno")) != 0L ) {
fno = PyEval_CallObject (filenomethod, 0L );
if (--( filenomethod )->ob_refcnt != 0) ; else (*( filenomethod )->ob_type->tp_dealloc)((PyObject *)( filenomethod )) ;
if ( fno == 0L )
return -1;
if ( ! (( fno )->ob_type == &PyInt_Type) ) {
PyErr_BadArgument ();
if (--( fno )->ob_refcnt != 0) ; else (*( fno )->ob_type->tp_dealloc)((PyObject *)( fno )) ;
return -1;
}
v = PyInt_AsLong (fno);
if (--( fno )->ob_refcnt != 0) ; else (*( fno )->ob_type->tp_dealloc)((PyObject *)( fno )) ;
} else {
PyErr_BadArgument ();
return -1;
}
if ( v < 0 || v >= 4096 ) {
PyErr_SetString (PyExc_ValueError , "filedescriptor out of range in select()");
return -1;
}
if ( v > max ) max = v;
(( set )->fds_bits[( v )/ (sizeof(fd_mask) * 8 ) ] |= (1 << (( v ) % (sizeof(fd_mask) * 8 ) ))) ;
fd2obj[v] = o;
}
return max+1;
}
static PyObject *
set2list(set, max, fd2obj)
fd_set *set;
int max;
PyObject *fd2obj[4096 ];
{
int i, num=0;
PyObject *list, *o;
for(i=0; i<max; i++)
if ( (( set )->fds_bits[( i )/ (sizeof(fd_mask) * 8 ) ] & (1 << (( i ) % (sizeof(fd_mask) * 8 ) ))) )
num++;
list = PyList_New (num);
num = 0;
for(i=0; i<max; i++)
if ( (( set )->fds_bits[( i )/ (sizeof(fd_mask) * 8 ) ] & (1 << (( i ) % (sizeof(fd_mask) * 8 ) ))) ) {
if ( i > 4096 ) {
PyErr_SetString (PyExc_SystemError ,
"filedescriptor out of range returned in select()");
return 0L ;
}
o = fd2obj[i];
if ( o == 0L ) {
PyErr_SetString (PyExc_SystemError ,
"Bad filedescriptor returned from select()");
return 0L ;
}
(( o )->ob_refcnt++) ;
PyList_SetItem (list, num, o);
num++;
}
return list;
}
static PyObject *
select_select(self, args)
PyObject *self;
PyObject *args;
{
PyObject *rfd2obj[4096 ], *wfd2obj[4096 ], *efd2obj[4096 ];
PyObject *ifdlist, *ofdlist, *efdlist;
PyObject *ret, *tout;
fd_set ifdset, ofdset, efdset;
double timeout;
struct timeval tv, *tvp;
int seconds;
int imax, omax, emax, max;
int n;
if ( PyArg_Parse (args, "(OOOO)", &ifdlist, &ofdlist, &efdlist, &tout) ) {
if (tout == (&_Py_NoneStruct) )
tvp = (struct timeval *)0;
else {
if (! PyArg_Parse (tout, "d;timeout must be float or None", &timeout))
return 0L ;
seconds = (int)timeout;
timeout = timeout - (double)seconds;
tv.tv_sec = seconds;
tv.tv_usec = (int)(timeout*1000000.0);
tvp = &tv;
}
} else {
PyErr_Clear ();
if (! PyArg_Parse (args, "(OOO)", &ifdlist, &ofdlist, &efdlist) )
return 0;
tvp = (struct timeval *)0;
}
if ( ! (( ifdlist )->ob_type == &PyList_Type) || ! (( ofdlist )->ob_type == &PyList_Type) ||
! (( efdlist )->ob_type == &PyList_Type) ) {
PyErr_BadArgument ();
return 0;
}
if( (imax=list2set(ifdlist, &ifdset, rfd2obj)) < 0 )
return 0;
if( (omax=list2set(ofdlist, &ofdset, wfd2obj)) < 0 )
return 0;
if( (emax=list2set(efdlist, &efdset, efd2obj)) < 0 )
return 0;
max = imax;
if ( omax > max ) max = omax;
if ( emax > max ) max = emax;
{
n = select(max, &ifdset, &ofdset, &efdset, tvp);
}
if ( n < 0 ) {
PyErr_SetFromErrno (SelectError);
return 0;
}
if ( n == 0 )
imax = omax = emax = 0;
ifdlist = set2list(&ifdset, imax, rfd2obj);
ofdlist = set2list(&ofdset, omax, wfd2obj);
efdlist = set2list(&efdset, emax, efd2obj);
ret = Py_BuildValue ("OOO", ifdlist, ofdlist, efdlist);
if (( ifdlist ) == 0L ) ; else if (--( ifdlist )->ob_refcnt != 0) ; else (*( ifdlist )->ob_type->tp_dealloc)((PyObject *)( ifdlist )) ;
if (( ofdlist ) == 0L ) ; else if (--( ofdlist )->ob_refcnt != 0) ; else (*( ofdlist )->ob_type->tp_dealloc)((PyObject *)( ofdlist )) ;
if (( efdlist ) == 0L ) ; else if (--( efdlist )->ob_refcnt != 0) ; else (*( efdlist )->ob_type->tp_dealloc)((PyObject *)( efdlist )) ;
return ret;
}
static struct PyMethodDef select_methods[] = {
{ "select", select_select },
{ 0, 0 },
};
void
initselect()
{
PyObject *m, *d;
m = Py_InitModule4( "select" , select_methods , (char *)0L , (PyObject *)0L , 1002 ) ;
d = PyModule_GetDict (m);
SelectError = PyString_FromString ("select.error");
if ( SelectError == 0L || PyDict_SetItemString (d, "error", SelectError) )
Py_FatalError ("Cannot define select.error");
}
Technical Details
Message-ID:
<49jlmb$gfv@insosf1.netins.net>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailShow Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 113d02,d39e8201dfab6816,start X-Google-Attributes: gid113d02,public From: rassilon@cs.simpson.edu (Bill Tutt) Subject: 2.7.1internal error in 2.7.1 on alphas-osf3.2a Date: 1995/11/30 Message-ID: <49jlmb$gfv@insosf1.netins.net> X-Deja-AN: 120615972 distribution: gnu sender: daemon@cis.ohio-state.edu organization: Simpson College newsgroups: gnu.gcc.bug