Commit Graph

142 Commits

Author SHA1 Message Date
Guido van Rossum c96417980c Patch by Jody Winston (with my changes) to add some of the "wait
status inspection" macros as functions: WEXITSTATUS(), WIFEXITED(),
WIFSIGNALED(), WIFSTOPPED(), WSTOPSIG(), WTERMSIG().
1998-08-04 15:26:23 +00:00
Barry Warsaw d58d7647f3 Several changes to support inclusion of filename in relevent
exceptions:

posix_error_with_filename(): New function which calls
PyErr_SetFromErrnoWithFilename()

The following methods have been changed to call
posix_error_with_filename():

    posix_1str()
    posix_strint()
    posix_strintint()
    posix_do_stat()
    posix_mkdir()
    posix_utime()
    posix_readlink()
    posix_open()

INITFUNC(): os.error (nee PosixError) is PyExc_OSError
1998-07-23 16:14:40 +00:00
Guido van Rossum b3f9f4b729 On Windows, make the pipe() call return Unix file descriptors instead
of Windows file handles.  Now it is at least compatible with itself on
Unix!
1998-06-12 15:05:15 +00:00
Guido van Rossum bfaf3d6186 Moved some #ifdefs around that got put in the wrong place by the
latest OS/2 patch set.
1997-12-29 20:02:27 +00:00
Guido van Rossum d48f252ce5 Another large batch of patches from Jeff Rush for OS/2.
I hope this time I've taken out all // comments and indended #ifdefs.
1997-12-05 22:19:34 +00:00
Guido van Rossum c5a0f532e7 Patch for QNX, by Chris Herborth. Also left-aligned preprocessor
directives and changed C++ comments to C comments.
1997-12-02 20:36:02 +00:00
Guido van Rossum 8e9ebfd337 os2 patch by Jeff Rush 1997-11-22 21:53:48 +00:00
Guido van Rossum 359bcaa539 This fix (across 4 files in 3 directories) solves a subtle problem with
signal handlers in a fork()ed child process when Python is compiled with
thread support.  The bug was reported by Scott <scott@chronis.icgroup.com>.

What happens is that after a fork(), the variables used by the signal
module to determine whether this is the main thread or not are bogus,
and it decides that no thread is the main thread, so no signals will
be delivered.

The solution is the addition of PyOS_AfterFork(), which fixes the signal
module's variables.  A dummy version of the function is present in the
intrcheck.c source file which is linked when the signal module is not
used.
1997-11-14 22:24:28 +00:00
Guido van Rossum 0cb96de269 Apply two changes, systematically:
(1) Use PyErr_NewException("module.class", NULL, NULL) to create the
    exception object.

(2) Remove all calls to Py_FatalError(); instead, return or
    ignore the errors -- the import code now checks PyErr_Occurred()
    after calling a module's init function, so it's no longer a
    fatal error for the initialization to fail.

Also did some small cleanups, e.g. removed unnecessary test for
"already initialized" from initfpectl(), and unified
initposix()/initnt().

I haven't checked this very thoroughly, so while the changes are
pretty trivial -- beware of untested code!
1997-10-01 04:29:29 +00:00
Guido van Rossum b6a4716298 Add strerror() interface. 1997-09-15 22:54:34 +00:00
Guido van Rossum c6ef204830 Added /**/ around #end tags 1997-08-21 02:30:45 +00:00
Guido van Rossum 6d8841c079 Added a bunch of XXX comments about things I'd like to see changed... 1997-08-14 19:57:39 +00:00
Guido van Rossum 98d9d09090 Added O_BINARY and O_TEXT (for Windows). 1997-08-08 21:48:51 +00:00
Roger E. Masse 0318fd6050 Moved the definition of posix_times__doc__ to outside of #ifdef HAVE_TIMES
so that MSVC 4.2 doesn't complain under NT.
1997-06-05 22:07:58 +00:00
Guido van Rossum ec4f4ac8c0 Added doc strings (Neil Schemenauer). 1997-06-02 22:20:51 +00:00
Guido van Rossum b9f866cb7c Enable putenv and waitpid (== wait4) for NeXT. 1997-05-22 15:12:39 +00:00
Guido van Rossum ba9d7c5612 Change the exception objects to have the string value "os.error"
instead "posix.error" or "nt.error".
1997-04-29 15:49:54 +00:00
Barry Warsaw 5ed19dcc0e posix_execve(): Accept any mapping protocol object for the env
argument, not hardwired to a dictionary.
1997-01-29 15:08:24 +00:00
Barry Warsaw 4a34209468 1. Export open(2) flag constants for every defined constant
2. Reworked error checking in initposix() and initnt().
1996-12-19 23:50:02 +00:00
Barry Warsaw 43d68b8fb0 Minor formatting changes. 1996-12-19 22:10:44 +00:00
Barry Warsaw 53699e9ec1 Renamed.
Note that there is no test suite for this module, and I don't plan to
write one just now.
1996-12-10 23:23:01 +00:00
Guido van Rossum a376cc5cc8 Keep gcc -Wall happy. 1996-12-05 23:43:35 +00:00
Guido van Rossum d266eb460e New permission notice, includes CNRI. 1996-10-25 14:44:06 +00:00
Guido van Rossum 87755a24c2 Use #ifdef MS_WIN32 instead of _MSC_VER > 850. 1996-09-07 00:59:43 +00:00
Guido van Rossum f1af3fe8eb Added simple-minded (i.e. leaking :-) putenv() interface, if os has it. 1996-07-23 19:18:10 +00:00
Guido van Rossum c012547142 Added plock() system call.
Changed test for Windows times() emulation.
1996-06-28 18:55:32 +00:00
Guido van Rossum 8d665e6b51 changed windows test symbols; removed debug printf from sockets 1996-06-26 18:22:49 +00:00
Guido van Rossum fd03e2b4b1 Clear waitpid() status arg in case there's no process to report with
WNOHANG set.
1996-06-19 23:17:02 +00:00
Guido van Rossum 8bac546e11 Avoid core dump in resizestring() on read() with 0 bytes. 1996-06-11 18:38:48 +00:00
Guido van Rossum a0e71303d9 Changed NT -> MSC or WATCOM 1996-05-28 22:30:38 +00:00
Guido van Rossum a4916fa54f Added mkfifo, ftruncate. Windows/PC changes. 1996-05-23 22:58:55 +00:00
Guido van Rossum b0824db52c Made 2nd arg to mkdir optional 1996-02-25 04:50:32 +00:00
Guido van Rossum f4a5912d51 add remove==unlink; mark strftime as varargs 1996-02-13 00:12:56 +00:00
Guido van Rossum bbc3410fa8 added 5th return item, clock time, to posix.times() 1995-09-13 17:39:51 +00:00
Guido van Rossum 24f42ac74c suppress . and .. in listdir return value 1995-07-18 18:16:52 +00:00
Guido van Rossum 36bc68024f sys/wait.h; NeXT changes (no unistd, utime; getcwd?) 1995-06-14 22:54:23 +00:00
Guido van Rossum de4e124c9b add WNOHANG 1995-03-30 10:56:54 +00:00
Guido van Rossum 6f4f5f7892 some more changes for NT and Borland 1995-03-10 15:14:41 +00:00
Guido van Rossum ad0ee8369c changes for NT/Borland C 1995-03-01 10:34:45 +00:00
Guido van Rossum a38a503576 fix comment opener after #endif 1995-02-17 15:11:36 +00:00
Guido van Rossum d1b3481d69 correct typo in utime stub 1995-02-07 15:39:29 +00:00
Guido van Rossum f8803dd6c3 uname 64-bit fix 1995-01-26 00:37:45 +00:00
Guido van Rossum a6a1e536ac added bufsize parameter to fdopen and popen 1995-01-10 15:36:38 +00:00
Guido van Rossum 524b588553 Added 1995 to copyright message.
Setup.in: clarified Tk comments somewhat.
structmodule.c: use memcpy() instead of double precision assignment.
1995-01-04 19:10:35 +00:00
Guido van Rossum 3bbc62e9c2 Another bulky set of minor changes.
Note addition of gethostbyaddr() and improved repr() for sockets,
renaming of md5.md5() to md5.new(), and fixing of leaks in threads.
1995-01-02 19:30:30 +00:00
Guido van Rossum 6493389a8c distinguish between getpgrp and setpgrp arg requirements 1994-10-20 21:56:42 +00:00
Guido van Rossum 14ed0b2cd3 * Modules/xxmodule.c: integrated with xxobject.c by Jack
* Modules/(posix,socket}module.c: more NT changes
1994-09-29 09:50:09 +00:00
Guido van Rossum b078ce10d4 Move #endif for NT 1994-08-29 14:01:43 +00:00
Guido van Rossum 794d81313b * Modules/posixmodule.c: some more NT changes 1994-08-23 13:48:48 +00:00
Guido van Rossum 6a3eb5f14d Changes to make it work and compile on NT, by Mark Hammond.
(NT changes for posixmodule.c re-invented by Guido.)
1994-08-18 15:42:46 +00:00
Guido van Rossum b6775db241 Merge alpha100 branch back to main trunk 1994-08-01 11:34:53 +00:00
Guido van Rossum 248a50c168 * Grammar: corrected old typo (class instead of 'class')
* dosmodule.c: MSDOS specific stuff from posixmodule.c.
* posixmodule.c: removed all MSDOS specific stuff.
* tokenizer.h, parsetok.h: in prototypes, don't mix named and unnamed
  parameters (MSC doesn't like this).
1993-12-20 12:53:10 +00:00
Guido van Rossum b376a4ad18 * timemodule.c: Add hack for Solaris 2.
* posixmodule.c: don't prototype getcwd() -- it's not portable...
* mappingobject.c: double-check validity of last_name_char in
  dict{lookup,insert,remove}.
* arraymodule.c: need memmove only for non-STDC Suns.
* Makefile: comment out HTML_LIBS and XT_USE by default
* pythonmain.c: don't prototype getopt() -- it's not standardized
* socketmodule.c: cast flags arg to {get,set}sockopt() and addrbuf arg to
  recvfrom() to (ANY*).
* pythonrun.c (initsigs): fix prototype, make it static
* intobject.c (LONG_BIT): only #define it if not already defined
* classobject.[ch]: remove all references to unused instance_convert()
* mappingobject.c (getmappingsize): Don't return NULL in int function.
1993-11-23 17:53:17 +00:00
Guido van Rossum a3d78fb268 * posixmodule.c: added set{uid,gid}.
* {tuple,list,mapping,array}object.c: call printobject with 0 for flags
* compile.c (parsestr): use quote instead of '\'' at one crucial point
* arraymodule.c (array_getattr): Added __members__ attribute
1993-11-10 09:23:53 +00:00
Guido van Rossum c6dcc9f407 Added execve; change getstrarg into getargs with "s" format 1993-11-05 10:15:19 +00:00
Guido van Rossum c70b61fe6d Hacks for NEXTSTEP. 1993-11-01 16:23:18 +00:00
Guido van Rossum 06191530b6 Work around a bug in the DEC alpha OSF/1 C preprocessor. 1993-10-26 15:22:37 +00:00
Guido van Rossum 89b3325dc4 * import.c (MAGIC): Changed magic word to avoid confusion about exec
function vs. exec statement
* bltinmodule.c: renamed the module to __builtin__.
* posixmodule.c (posix_execv): renamed exec --> execv since it is now a
  reserved word.
1993-10-22 14:26:06 +00:00
Guido van Rossum a3309960a5 * Added support for X11 modules.
* Makefile: change location of FORMS library.
* posixmodule.c: turn #if 0 into #ifdef MSDOS (stuff in unistd.h or not)
* Almost all .h files: added CPP magic to avoid duplicate inclusions and
  to support inclusion from C++.
1993-07-28 09:05:47 +00:00
Guido van Rossum e22e6442b7 * config.c: different default PYTHONPATH for MS-DOS
* timemodule.c: change #ifdef TURBO_C into #ifdef MSDOS
* posixmodule.c: MSDOS changes by Marcel van der Peijl (Digicash)
* stropmodule.c: use C isspace(c) to test for whitespace; add
  whitespace, lowercase and uppercase variables to the module.
1993-07-09 10:51:31 +00:00
Guido van Rossum 234f942aef * Added gmtime/localtime/mktime and SYSV timezone globals to timemodule.c.
Added $(SYSDEF) to its build rule in Makefile.
* cgensupport.[ch], modsupport.[ch]: removed some old stuff.  Also
  changed files that still used it...  And made several things static
  that weren't but should have been...  And other minor cleanups...
* listobject.[ch]: add external interfaces {set,get}listslice
* socketmodule.c: fix bugs in new send() argument parsing.
* sunaudiodevmodule.c: added flush() and close().
1993-06-17 12:35:49 +00:00
Guido van Rossum 687dd13bfe New posix functions open, close, dup, dup2, lseek, read, write, fstat, pipe.
Improved some comments and defaults in the Makefile.
1993-05-17 08:34:16 +00:00
Guido van Rossum e537240c25 * Changed many files to use mkvalue() instead of newtupleobject().
* Fixcprt.py: added [-y file] option, do only files younger than file.
* modsupport.[ch]: added vmkvalue().
* intobject.c: use mkvalue().
* stringobject.c: added "formatstring"; renamed string* to string_*;
  ceval.c: call formatstring for string % value.
* longobject.c: close memory leak in divmod.
* parsetok.c: set result node to NULL when returning an error.
1993-03-16 12:15:04 +00:00
Guido van Rossum 0b0db8e3a0 Added separate main program for the Mac: macmain.c
stdwinmodule.c: wsetfont can now return an error
Makefile: add CL_USE and CL_LIB*S; config.c: move CL part around
New things in imgfile; also in Makefile.
longobject.c: fix comparison of negative long ints...  [REAL BUG!]
marshal.c: add dumps() and loads() to read/write strings
timemodule.c: make sure there's always a floatsleep()
posixmodule.c: rationalize struct returned by times()
Makefile: add test target, disable imgfile by default
thread.c: Improved coexistance with dl module (sjoerd)
stdwinmodule.c: Change include stdwin.h if macintosh
rotormodule.c: added missing last argument to RTR_?_region calls
confic.c: merged with configmac.c, added 1993 to copyright message
fileobject.c: int compared to NULL in writestring(); change fopenRF ifdef
timemodule.c: simplify times() using mkvalue; include myselect.h
  earlier (for sequent).
posixmodule: for sequent, include unistd.h instead of explicit
  extern definitions and don't define rename()
Makefile: change misleading/wrong MD5 comments
1993-01-21 16:07:51 +00:00
Guido van Rossum 775f4dacbc * Makefile: use cp -r to install the library
* ceval.c: use #ifdef COMPAT_HACKS instead of #if 0
* Makefile: fix to make clmodule.c compile;
  make config.o dependent on libpython.a (so date is always correct)
* timemodule.c: now sleep() also takes a float argument.
* posixmodule.c: added nice().
1993-01-09 17:18:52 +00:00
Guido van Rossum a2b7f40513 * Configure.py: use #!/usr/local/bin/python
* posixmodule.c: move extern function declarations to top
* listobject.c: cmp() arguments must be void* if __STDC__
* Makefile, allobjects.h, panelmodule.c, modsupport.c: get rid of
  strdup() -- it is a portability risk
* Makefile: enclosed ranlib command in parentheses for Sequent Make
  which aborts if the command is not found even if '-' is present
* timemodule.c: time() returns a floating point number, in microsecond
  precision if BSD_TIME is defined.
1993-01-04 09:09:59 +00:00
Guido van Rossum 7066dd75c5 * Makefile: added IMGFILE; moved some stuff around.
* flmodule.c: added some missing functions; changed readonly flags of
  some data members based upon FORMS documentation.
* listobject.c: fixed int/long arg lint bug (bites PC compilers).
* several: removed redundant print methods (repr is good enough).
* posixmodule.c: added (still experimental) process group functions.
1992-09-17 17:54:56 +00:00
Guido van Rossum c2670a000b posix: added setpgrp() and, if sgi, setsid() and setpgid(pid, pgid) 1992-09-13 20:07:29 +00:00
Guido van Rossum 423d6c6bca DO_TIMES must now be defined in the Makefile 1992-08-12 15:34:02 +00:00
Guido van Rossum 21803b8a6f Makefile, Configure.py: ##ask --> ##[el]if[yes|no]
posixmodule.c: waitpid() is separate
1992-08-09 12:55:27 +00:00
Guido van Rossum ff4949eeee * Makefile: cosmetics
* socketmodule.c: get rid of makepair(); fix makesocketaddr to fix
  broken recvfrom()
* socketmodule: get rid of getStrarg()
* ceval.h: move eval_code() to new file eval.h, so compile.h is no
  longer needed.
* ceval.c: move thread comments to ceval.h; always make save/restore
  thread functions available (for dynloaded modules)
* cdmodule.c, listobject.c: don't include compile.h
* flmodule.c: include ceval.h
* import.c: include eval.h instead of ceval.h
* cgen.py: add forground(); noport(); winopen(""); to initgl().
* bltinmodule.c, socketmodule.c, fileobject.c, posixmodule.c,
  selectmodule.c:
  adapt to threads (add BGN/END SAVE macros)
* stdwinmodule.c: adapt to threads and use a special stdwin lock.
* pythonmain.c: don't include getpythonpath().
* pythonrun.c: use BGN/END SAVE instead of direct calls; also more
  BGN/END SAVE calls etc.
* thread.c: bigger stack size for sun; change exit() to _exit()
* threadmodule.c: use BGN/END SAVE macros where possible
* timemodule.c: adapt better to threads; use BGN/END SAVE; add
  longsleep internal function if BSD_TIME; cosmetics
1992-08-05 19:58:53 +00:00
Guido van Rossum 46003ff66a Added gete?[gu]id functions 1992-05-15 11:05:24 +00:00
Guido van Rossum 22db57e4a2 Added times() (from time) 1992-04-05 14:25:30 +00:00
Guido van Rossum 50e61dc259 Check empty argument lists.
Lint fixes (and include <unistd.h>)
1992-03-27 17:22:31 +00:00
Guido van Rossum c39de5fe61 Added uname. Made lstat/readlink/symlink unconditional (the latter
two raise posix.error if symlinks aren't supported).
1992-02-05 11:15:54 +00:00
Guido van Rossum ef0a00ec0c Use getargs() function. 1992-01-27 16:51:30 +00:00
Guido van Rossum b988c33d5a getlonglongargs --> getlonglongarg
Fixed type error in argument of newopenfileobject.
1991-09-10 14:56:48 +00:00
Guido van Rossum e0d452d5ef Ignore SIGPIPE when we've opened a pipe 1991-07-27 21:41:01 +00:00
Guido van Rossum 9db401333f Fixed confusing error message (open should be popen) 1991-07-01 18:48:44 +00:00
Guido van Rossum 971443b7d4 Getpgrp() has a parameter, at least on BSD! 1991-06-07 13:59:29 +00:00
Guido van Rossum 0481447f41 Added getpgrp(); fixed buggy calls to getnoarg(). 1991-06-04 20:23:49 +00:00
Guido van Rossum 3b06619e1c Added popen().
Added getmtime() function for use by ".pyc" processing.
1991-06-04 19:40:25 +00:00
Guido van Rossum 85e3b01f3b Removed utimes() compatibility hack.
Added _exit, exec, fork, getpid, getppid, kill and wait.
1991-06-03 12:42:10 +00:00
Guido van Rossum 0ee42cdcf9 Incorporated MSDOS changes (untested). 1991-04-08 21:01:03 +00:00
Guido van Rossum 1ff6cb4f4f Made utime use much more portable.
Incorporated i386 mods.
(Oh, BTW, the "right" python name is now posix.utime, not utimes!
1991-04-08 20:59:13 +00:00
Guido van Rossum f70e43a073 Added copyright notice. 1991-02-19 12:39:46 +00:00
Guido van Rossum c83fd37341 Moved getcwd() hack to its own file. 1991-01-21 14:28:19 +00:00
Guido van Rossum 3f5da24ea3 "Compiling" version 1990-12-20 15:06:42 +00:00
Guido van Rossum 7f77e2d4f8 Added prototype to declaration of strerror(). 1990-10-30 13:34:38 +00:00
Guido van Rossum 9a1581ceca Made posix_error back static as it should be. 1990-10-21 13:12:47 +00:00
Guido van Rossum e8f305aec6 Change posix_error() to call err_errno(). 1990-10-14 20:04:28 +00:00
Guido van Rossum 85a5fbbdfe Initial revision 1990-10-14 12:07:46 +00:00