#16135: Removal of OS/2 support (Modules/*)
This commit is contained in:
parent
ab70e2ab32
commit
14c81aba50
|
@ -14,11 +14,7 @@
|
|||
*/
|
||||
#if defined(HAVE_NDBM_H)
|
||||
#include <ndbm.h>
|
||||
#if defined(PYOS_OS2) && !defined(PYCC_GCC)
|
||||
static char *which_dbm = "ndbm";
|
||||
#else
|
||||
static char *which_dbm = "GNU gdbm"; /* EMX port of GDBM */
|
||||
#endif
|
||||
#elif defined(HAVE_GDBM_NDBM_H)
|
||||
#include <gdbm/ndbm.h>
|
||||
static char *which_dbm = "GNU gdbm";
|
||||
|
|
|
@ -36,12 +36,8 @@ hpTimerUnit(void)
|
|||
#error "This module requires gettimeofday() on non-Windows platforms!"
|
||||
#endif
|
||||
|
||||
#if (defined(PYOS_OS2) && defined(PYCC_GCC))
|
||||
#include <sys/time.h>
|
||||
#else
|
||||
#include <sys/resource.h>
|
||||
#include <sys/times.h>
|
||||
#endif
|
||||
|
||||
static PY_LONG_LONG
|
||||
hpTimer(void)
|
||||
|
|
|
@ -79,9 +79,6 @@ typedef struct {
|
|||
static user_signal_t *user_signals;
|
||||
|
||||
/* the following macros come from Python: Modules/signalmodule.c */
|
||||
#if defined(PYOS_OS2) && !defined(PYCC_GCC)
|
||||
#define NSIG 12
|
||||
#endif
|
||||
#ifndef NSIG
|
||||
# if defined(_NSIG)
|
||||
# define NSIG _NSIG /* For BSD/SysV */
|
||||
|
|
|
@ -325,11 +325,6 @@ fcntl_lockf(PyObject *self, PyObject *args)
|
|||
&lenobj, &startobj, &whence))
|
||||
return NULL;
|
||||
|
||||
#if defined(PYOS_OS2) && defined(PYCC_GCC)
|
||||
PyErr_SetString(PyExc_NotImplementedError,
|
||||
"lockf not supported on OS/2 (EMX)");
|
||||
return NULL;
|
||||
#else
|
||||
#ifndef LOCK_SH
|
||||
#define LOCK_SH 1 /* shared lock */
|
||||
#define LOCK_EX 2 /* exclusive lock */
|
||||
|
@ -383,7 +378,6 @@ fcntl_lockf(PyObject *self, PyObject *args)
|
|||
}
|
||||
Py_INCREF(Py_None);
|
||||
return Py_None;
|
||||
#endif /* defined(PYOS_OS2) && defined(PYCC_GCC) */
|
||||
}
|
||||
|
||||
PyDoc_STRVAR(lockf_doc,
|
||||
|
|
|
@ -160,12 +160,8 @@ pwd_getpwall(PyObject *self)
|
|||
struct passwd *p;
|
||||
if ((d = PyList_New(0)) == NULL)
|
||||
return NULL;
|
||||
#if defined(PYOS_OS2) && defined(PYCC_GCC)
|
||||
if ((p = getpwuid(0)) != NULL) {
|
||||
#else
|
||||
setpwent();
|
||||
while ((p = getpwent()) != NULL) {
|
||||
#endif
|
||||
PyObject *v = mkpwent(p);
|
||||
if (v == NULL || PyList_Append(d, v) != 0) {
|
||||
Py_XDECREF(v);
|
||||
|
|
|
@ -901,10 +901,6 @@ setup_readline(void)
|
|||
using_history();
|
||||
|
||||
rl_readline_name = "python";
|
||||
#if defined(PYOS_OS2) && defined(PYCC_GCC)
|
||||
/* Allow $if term= in .inputrc to work */
|
||||
rl_terminal_name = getenv("TERM");
|
||||
#endif
|
||||
/* Force rebind of TAB to insert-tab */
|
||||
rl_bind_key('\t', rl_insert);
|
||||
/* Bind both ESC-TAB and ESC-ESC to the completion function */
|
||||
|
|
|
@ -47,11 +47,6 @@ extern void bzero(void *, int);
|
|||
#include <sys/types.h>
|
||||
#endif
|
||||
|
||||
#if defined(PYOS_OS2) && !defined(PYCC_GCC)
|
||||
#include <sys/time.h>
|
||||
#include <utils.h>
|
||||
#endif
|
||||
|
||||
#ifdef MS_WINDOWS
|
||||
# define WIN32_LEAN_AND_MEAN
|
||||
# include <winsock.h>
|
||||
|
|
|
@ -34,11 +34,6 @@
|
|||
#define SIG_ERR ((PyOS_sighandler_t)(-1))
|
||||
#endif
|
||||
|
||||
#if defined(PYOS_OS2) && !defined(PYCC_GCC)
|
||||
#define NSIG 12
|
||||
#include <process.h>
|
||||
#endif
|
||||
|
||||
#ifndef NSIG
|
||||
# if defined(_NSIG)
|
||||
# define NSIG _NSIG /* For BSD/SysV */
|
||||
|
|
|
@ -223,13 +223,6 @@ if_indextoname(index) -- return the corresponding interface name\n\
|
|||
#endif
|
||||
|
||||
|
||||
#if defined(PYOS_OS2)
|
||||
# define INCL_DOS
|
||||
# define INCL_DOSERRORS
|
||||
# define INCL_NOPMAPI
|
||||
# include <os2.h>
|
||||
#endif
|
||||
|
||||
#if defined(__sgi) && _COMPILER_VERSION>700 && !_SGIAPI
|
||||
/* make sure that the reentrant (gethostbyaddr_r etc)
|
||||
functions are declared correctly if compiling with
|
||||
|
@ -286,12 +279,7 @@ if_indextoname(index) -- return the corresponding interface name\n\
|
|||
# include <unistd.h>
|
||||
|
||||
/* Headers needed for inet_ntoa() and inet_addr() */
|
||||
# if defined(PYOS_OS2) && defined(PYCC_VACPP)
|
||||
# include <netdb.h>
|
||||
typedef size_t socklen_t;
|
||||
# else
|
||||
# include <arpa/inet.h>
|
||||
# endif
|
||||
|
||||
# include <fcntl.h>
|
||||
|
||||
|
@ -395,11 +383,6 @@ dup_socket(SOCKET handle)
|
|||
#define snprintf _snprintf
|
||||
#endif
|
||||
|
||||
#if defined(PYOS_OS2) && !defined(PYCC_GCC)
|
||||
#define SOCKETCLOSE soclose
|
||||
#define NO_DUP /* Sockets are Not Actual File Handles under OS/2 */
|
||||
#endif
|
||||
|
||||
#ifndef SOCKETCLOSE
|
||||
#define SOCKETCLOSE close
|
||||
#endif
|
||||
|
@ -534,42 +517,6 @@ set_error(void)
|
|||
return PyErr_SetExcFromWindowsErr(PyExc_OSError, err_no);
|
||||
#endif
|
||||
|
||||
#if defined(PYOS_OS2) && !defined(PYCC_GCC)
|
||||
if (sock_errno() != NO_ERROR) {
|
||||
APIRET rc;
|
||||
ULONG msglen;
|
||||
char outbuf[100];
|
||||
int myerrorcode = sock_errno();
|
||||
|
||||
/* Retrieve socket-related error message from MPTN.MSG file */
|
||||
rc = DosGetMessage(NULL, 0, outbuf, sizeof(outbuf),
|
||||
myerrorcode - SOCBASEERR + 26,
|
||||
"mptn.msg",
|
||||
&msglen);
|
||||
if (rc == NO_ERROR) {
|
||||
PyObject *v;
|
||||
|
||||
/* OS/2 doesn't guarantee a terminator */
|
||||
outbuf[msglen] = '\0';
|
||||
if (strlen(outbuf) > 0) {
|
||||
/* If non-empty msg, trim CRLF */
|
||||
char *lastc = &outbuf[ strlen(outbuf)-1 ];
|
||||
while (lastc > outbuf &&
|
||||
isspace(Py_CHARMASK(*lastc))) {
|
||||
/* Trim trailing whitespace (CRLF) */
|
||||
*lastc-- = '\0';
|
||||
}
|
||||
}
|
||||
v = Py_BuildValue("(is)", myerrorcode, outbuf);
|
||||
if (v != NULL) {
|
||||
PyErr_SetObject(PyExc_OSError, v);
|
||||
Py_DECREF(v);
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
return PyErr_SetFromErrno(PyExc_OSError);
|
||||
}
|
||||
|
||||
|
@ -658,20 +605,17 @@ internal_setblocking(PySocketSockObject *s, int block)
|
|||
|
||||
Py_BEGIN_ALLOW_THREADS
|
||||
#ifndef MS_WINDOWS
|
||||
#if defined(PYOS_OS2) && !defined(PYCC_GCC)
|
||||
block = !block;
|
||||
ioctl(s->sock_fd, FIONBIO, (caddr_t)&block, sizeof(block));
|
||||
#elif defined(__VMS)
|
||||
#if defined(__VMS)
|
||||
block = !block;
|
||||
ioctl(s->sock_fd, FIONBIO, (unsigned int *)&block);
|
||||
#else /* !PYOS_OS2 && !__VMS */
|
||||
#else /* !__VMS */
|
||||
delay_flag = fcntl(s->sock_fd, F_GETFL, 0);
|
||||
if (block)
|
||||
delay_flag &= (~O_NONBLOCK);
|
||||
else
|
||||
delay_flag |= O_NONBLOCK;
|
||||
fcntl(s->sock_fd, F_SETFL, delay_flag);
|
||||
#endif /* !PYOS_OS2 */
|
||||
#endif /* !__VMS */
|
||||
#else /* MS_WINDOWS */
|
||||
block = !block;
|
||||
ioctlsocket(s->sock_fd, FIONBIO, (u_long*)&block);
|
||||
|
@ -1329,11 +1273,7 @@ getsockaddrarg(PySocketSockObject *s, PyObject *args,
|
|||
}
|
||||
addr->sun_family = s->sock_family;
|
||||
memcpy(addr->sun_path, path, len);
|
||||
#if defined(PYOS_OS2)
|
||||
*len_ret = sizeof(*addr);
|
||||
#else
|
||||
*len_ret = len + offsetof(struct sockaddr_un, sun_path);
|
||||
#endif
|
||||
retval = 1;
|
||||
unix_out:
|
||||
Py_DECREF(args);
|
||||
|
@ -2820,13 +2760,8 @@ sock_recvfrom_guts(PySocketSockObject *s, char* cbuf, Py_ssize_t len, int flags,
|
|||
timeout = internal_select_ex(s, 0, interval);
|
||||
if (!timeout) {
|
||||
#ifndef MS_WINDOWS
|
||||
#if defined(PYOS_OS2) && !defined(PYCC_GCC)
|
||||
n = recvfrom(s->sock_fd, cbuf, len, flags,
|
||||
SAS2SA(&addrbuf), &addrlen);
|
||||
#else
|
||||
n = recvfrom(s->sock_fd, cbuf, len, flags,
|
||||
(void *) &addrbuf, &addrlen);
|
||||
#endif
|
||||
#else
|
||||
n = recvfrom(s->sock_fd, cbuf, len, flags,
|
||||
SAS2SA(&addrbuf), &addrlen);
|
||||
|
@ -5509,32 +5444,6 @@ os_init(void)
|
|||
#endif /* MS_WINDOWS */
|
||||
|
||||
|
||||
#ifdef PYOS_OS2
|
||||
#define OS_INIT_DEFINED
|
||||
|
||||
/* Additional initialization for OS/2 */
|
||||
|
||||
static int
|
||||
os_init(void)
|
||||
{
|
||||
#ifndef PYCC_GCC
|
||||
int rc = sock_init();
|
||||
|
||||
if (rc == 0) {
|
||||
return 1; /* Success */
|
||||
}
|
||||
|
||||
PyErr_Format(PyExc_ImportError, "OS/2 TCP/IP Error# %d", sock_errno());
|
||||
|
||||
return 0; /* Failure */
|
||||
#else
|
||||
/* No need to initialize sockets with GCC/EMX */
|
||||
return 1; /* Success */
|
||||
#endif
|
||||
}
|
||||
|
||||
#endif /* PYOS_OS2 */
|
||||
|
||||
|
||||
#ifndef OS_INIT_DEFINED
|
||||
static int
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
# include <sys/socket.h>
|
||||
# endif
|
||||
# include <netinet/in.h>
|
||||
# if !(defined(__CYGWIN__) || (defined(PYOS_OS2) && defined(PYCC_VACPP)))
|
||||
# if !defined(__CYGWIN__)
|
||||
# include <netinet/tcp.h>
|
||||
# endif
|
||||
|
||||
|
|
|
@ -37,16 +37,6 @@
|
|||
#endif /* MS_WINDOWS */
|
||||
#endif /* !__WATCOMC__ || __QNX__ */
|
||||
|
||||
#if defined(PYOS_OS2)
|
||||
#define INCL_DOS
|
||||
#define INCL_ERRORS
|
||||
#include <os2.h>
|
||||
#endif
|
||||
|
||||
#if defined(PYCC_VACPP)
|
||||
#include <sys/time.h>
|
||||
#endif
|
||||
|
||||
#if defined(__APPLE__)
|
||||
#include <mach/mach_time.h>
|
||||
#endif
|
||||
|
@ -1284,19 +1274,11 @@ PyInit_timezone(PyObject *m) {
|
|||
#if defined(HAVE_TZNAME) && !defined(__GLIBC__) && !defined(__CYGWIN__)
|
||||
PyObject *otz0, *otz1;
|
||||
tzset();
|
||||
#ifdef PYOS_OS2
|
||||
PyModule_AddIntConstant(m, "timezone", _timezone);
|
||||
#else /* !PYOS_OS2 */
|
||||
PyModule_AddIntConstant(m, "timezone", timezone);
|
||||
#endif /* PYOS_OS2 */
|
||||
#ifdef HAVE_ALTZONE
|
||||
PyModule_AddIntConstant(m, "altzone", altzone);
|
||||
#else
|
||||
#ifdef PYOS_OS2
|
||||
PyModule_AddIntConstant(m, "altzone", _timezone-3600);
|
||||
#else /* !PYOS_OS2 */
|
||||
PyModule_AddIntConstant(m, "altzone", timezone-3600);
|
||||
#endif /* PYOS_OS2 */
|
||||
#endif
|
||||
PyModule_AddIntConstant(m, "daylight", daylight);
|
||||
otz0 = PyUnicode_DecodeLocale(tzname[0], "surrogateescape");
|
||||
|
@ -1602,15 +1584,6 @@ floatsleep(double secs)
|
|||
}
|
||||
Py_END_ALLOW_THREADS
|
||||
}
|
||||
#elif defined(PYOS_OS2)
|
||||
/* This Sleep *IS* Interruptable by Exceptions */
|
||||
Py_BEGIN_ALLOW_THREADS
|
||||
if (DosSleep(secs * 1000) != NO_ERROR) {
|
||||
Py_BLOCK_THREADS
|
||||
PyErr_SetFromErrno(PyExc_IOError);
|
||||
return -1;
|
||||
}
|
||||
Py_END_ALLOW_THREADS
|
||||
#else
|
||||
/* XXX Can't interrupt this sleep */
|
||||
Py_BEGIN_ALLOW_THREADS
|
||||
|
|
Loading…
Reference in New Issue