version 1.52, 2010/08/06 15:33:04
|
version 1.55, 2010/08/13 21:00:37
|
Line 34
|
Line 34
|
#ifdef OS2 |
#ifdef OS2 |
# define _BSD_SOURCE |
# define _BSD_SOURCE |
# define _XOPEN_SOURCE 600 |
# define _XOPEN_SOURCE 600 |
|
# define _BROKEN_SIGINFO |
|
|
# include <types.h> |
# include <types.h> |
enum { SHUT_RD = 0, SHUT_WR, SHUT_RDWR }; |
enum { SHUT_RD = 0, SHUT_WR, SHUT_RDWR }; |
# define SHUT_RD SHUT_RD |
# define SHUT_RD SHUT_RD |
# define SHUT_WR SHUT_WR |
# define SHUT_WR SHUT_WR |
# define SHUT_RDWR SHUT_RDWR |
# define SHUT_RDWR SHUT_RDWR |
# define SEM_FAILED NULL |
|
# undef IPV6 |
|
|
|
# include "getaddrinfo-conv.h" |
# include "getaddrinfo-conv.h" |
|
|
|
# define sched_yield(arg) |
#else |
#else |
# define IPV6 |
# undef _BROKEN_SIGINFO |
#endif |
#endif |
|
|
|
|
Line 91
|
Line 92
|
|
|
# include <pwd.h> |
# include <pwd.h> |
|
|
# ifndef OS2 |
# ifndef SEMAPHORES_SYSV |
# include <semaphore.h> |
# include <semaphore.h> |
# else |
# else |
# include <sys/sem.h> |
# ifdef OS2 |
typedef int sem_t; |
# define INCL_DOSSEMAPHORES |
|
# define INCL_DOSMEMMGR |
|
# define INCL_DOSERRORS |
|
# include <os2.h> |
|
|
|
typedef struct _OS2SEM |
|
{ |
|
HMTX hmtx; |
|
HEV hev; |
|
ULONG shared; |
|
ULONG *cnt; |
|
ULONG *nopened; |
|
ULONG allocated; |
|
} sem_t; |
|
# else |
|
typedef int sem_t; |
|
# endif |
|
|
|
# define SEM_FAILED NULL |
|
|
sem_t *sem_open(const char *nom, int oflag, ...); |
sem_t *sem_open_SysV(const char *nom, int oflag, ...); |
int sem_init(sem_t *sem, int shared, unsigned int value); |
int sem_init_SysV(sem_t *sem, int shared, unsigned int value); |
int sem_close(sem_t *sem); |
int sem_close_SysV(sem_t *sem); |
int sem_wait(sem_t *sem); |
int sem_wait_SysV(sem_t *sem); |
int sem_trywait(sem_t *sem); |
int sem_trywait_SysV(sem_t *sem); |
int sem_post(sem_t *sem); |
int sem_post_SysV(sem_t *sem); |
int sem_getvalue(sem_t *sem, int *value); |
int sem_getvalue_SysV(sem_t *sem, int *value); |
int sem_unlink(const char *nom); |
int sem_unlink_SysV(const char *nom); |
int sem_destroy(sem_t *sem); |
int sem_destroy_SysV(sem_t *sem); |
# endif |
# endif |
|
|
# include <setjmp.h> |
# include <setjmp.h> |
Line 160
|
Line 179
|
|
|
#include "librplprototypes.h" |
#include "librplprototypes.h" |
|
|
|
|
|
/* |
|
================================================================================ |
|
SÉMAPHORES |
|
================================================================================ |
|
*/ |
|
|
|
#ifdef SEMAPHORES_SYSV |
|
# define sem_init(a, b, c) sem_init_SysV(a, b, c) |
|
# define sem_destroy(a) sem_destroy_SysV(a) |
|
# define sem_wait(a) sem_wait_SysV(a) |
|
# define sem_trywait(a) sem_trywait_SysV(a) |
|
# define sem_post(a) sem_post_SysV(a) |
|
# define sem_getvalue(a, b) sem_getvalue_SysV(a, b) |
|
# define sem_open(...) sem_open_SysV(__VA_ARGS__) |
|
# define sem_close(a) sem_close_SysV(a) |
|
# define sem_unlink(a) sem_unlink_SysV(a) |
|
#endif |
|
|
|
|
/* |
/* |
================================================================================ |
================================================================================ |
SIGNAUX |
SIGNAUX |
Line 786 pid_t debug_fork();
|
Line 825 pid_t debug_fork();
|
-------------------------------------------------------------------------------- |
-------------------------------------------------------------------------------- |
*/ |
*/ |
|
|
|
#ifdef MIN |
|
# undef MIN |
|
#endif |
|
|
|
#ifdef MAX |
|
# undef MAX |
|
#endif |
|
|
|
#define ADR __RPL_ADR |
|
#define ALG __RPL_ALG |
|
#define BIN __RPL_BIN |
|
#define CHN __RPL_CHN |
|
#define CPL __RPL_CPL |
|
#define FCH __RPL_FCH |
|
#define FCT __RPL_FCT |
|
#define INT __RPL_INT |
|
#define LST __RPL_LST |
|
#define MCX __RPL_MCX |
|
#define MIN __RPL_MIN |
|
#define MRL __RPL_MRL |
|
#define MTX __RPL_MTX |
|
#define NOM __RPL_NOM |
|
#define NON __RPL_NON |
|
#define PRC __RPL_PRC |
|
#define REL __RPL_REL |
|
#define RPN __RPL_RPN |
|
#define SCK __RPL_SCK |
|
#define SLB __RPL_SLB |
|
#define SPH __RPL_SPH |
|
#define SQL __RPL_SQL |
|
#define TBL __RPL_TBL |
|
#define VCX __RPL_VCX |
|
#define VIN __RPL_VIN |
|
#define VRL __RPL_VRL |
|
|
|
|
enum t_type { ADR = 0, ALG, BIN, CHN, CPL, FCH, FCT, INT, LST, |
enum t_type { ADR = 0, ALG, BIN, CHN, CPL, FCH, FCT, INT, LST, |
MCX, MIN, MRL, MTX, NOM, NON, PRC, REL, RPN, SCK, |
MCX, MIN, MRL, MTX, NOM, NON, PRC, REL, RPN, SCK, |
SLB, SPH, SQL, TBL, VCX, VIN, VRL }; |
SLB, SPH, SQL, TBL, VCX, VIN, VRL }; |