enhanced callback functions for os2
This commit is contained in:
parent
72f500e73b
commit
65a702a88b
@ -421,7 +421,7 @@ class MyObject(Object)
|
|||||||
[
|
[
|
||||||
| ss |
|
| ss |
|
||||||
httpd start: %(
|
httpd start: %(
|
||||||
SocketAddress fromString: ('[::]:' & base_port asString),
|
## SocketAddress fromString: ('[::]:' & base_port asString),
|
||||||
SocketAddress fromString: ('0.0.0.0:' & (base_port + 1) asString)
|
SocketAddress fromString: ('0.0.0.0:' & (base_port + 1) asString)
|
||||||
).
|
).
|
||||||
|
|
||||||
@ -463,7 +463,7 @@ httpd connect: addr.
|
|||||||
[
|
[
|
||||||
| ss |
|
| ss |
|
||||||
httpd start: %(
|
httpd start: %(
|
||||||
SocketAddress fromString: '[::]:7777',
|
## SocketAddress fromString: '[::]:7777',
|
||||||
SocketAddress fromString: '0.0.0.0:7776'
|
SocketAddress fromString: '0.0.0.0:7776'
|
||||||
).
|
).
|
||||||
|
|
||||||
|
@ -84,6 +84,7 @@ class MyObject(Object)
|
|||||||
[Exception hash dump] ensure: ['xxxx' dump].
|
[Exception hash dump] ensure: ['xxxx' dump].
|
||||||
] on: Exception do: [:ex | ('Exception caught - ' & ex asString) dump ].*)
|
] on: Exception do: [:ex | ('Exception caught - ' & ex asString) dump ].*)
|
||||||
|
|
||||||
|
(*
|
||||||
ffi := FFI new: '/lib64/libc.so.6'.
|
ffi := FFI new: '/lib64/libc.so.6'.
|
||||||
if (ffi isError)
|
if (ffi isError)
|
||||||
{
|
{
|
||||||
@ -96,6 +97,7 @@ class MyObject(Object)
|
|||||||
(ffi call: #printf signature: 's|iis)i' arguments: #(S'A=>%d B=>%d Hello, world %s\n' 1 2 'jump down')) dump.
|
(ffi call: #printf signature: 's|iis)i' arguments: #(S'A=>%d B=>%d Hello, world %s\n' 1 2 'jump down')) dump.
|
||||||
ffi close.
|
ffi close.
|
||||||
}.
|
}.
|
||||||
|
*)
|
||||||
(('abcd' == 'abcd') ifTrue: [1] ifFalse: [2]) dump.
|
(('abcd' == 'abcd') ifTrue: [1] ifFalse: [2]) dump.
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -61,6 +61,7 @@
|
|||||||
#elif defined(__OS2__)
|
#elif defined(__OS2__)
|
||||||
# define INCL_DOSMODULEMGR
|
# define INCL_DOSMODULEMGR
|
||||||
# define INCL_DOSPROCESS
|
# define INCL_DOSPROCESS
|
||||||
|
# define INCL_DOSSEMAPHORES
|
||||||
# define INCL_DOSEXCEPTIONS
|
# define INCL_DOSEXCEPTIONS
|
||||||
# define INCL_DOSMISC
|
# define INCL_DOSMISC
|
||||||
# define INCL_DOSDATETIME
|
# define INCL_DOSDATETIME
|
||||||
@ -2588,6 +2589,44 @@ static VOID CALLBACK arrange_process_switching (LPVOID arg, DWORD timeLow, DWORD
|
|||||||
if (g_moo) moo_switchprocess (g_moo);
|
if (g_moo) moo_switchprocess (g_moo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#elif defined(__OS2__)
|
||||||
|
static TID g_tick_tid;
|
||||||
|
static HEV g_tick_sem;
|
||||||
|
static HTIMER g_tick_timer;
|
||||||
|
static int g_tick_done = 0;
|
||||||
|
|
||||||
|
static void EXPENTRY os2_wait_for_timer_event (ULONG x)
|
||||||
|
{
|
||||||
|
APIRET rc;
|
||||||
|
ULONG count;
|
||||||
|
|
||||||
|
rc = DosCreateEventSem (NULL, &g_tick_sem, DC_SEM_SHARED, FALSE);
|
||||||
|
if (rc != NO_ERROR)
|
||||||
|
{
|
||||||
|
/* xxxx */
|
||||||
|
}
|
||||||
|
|
||||||
|
rc = DosStartTimer (1L, (HSEM)g_tick_sem, &g_tick_timer);
|
||||||
|
if (rc != NO_ERROR)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
while (!g_tick_done)
|
||||||
|
{
|
||||||
|
rc = DosWaitEventSem((HSEM)g_tick_sem, 5000L);
|
||||||
|
DosResetEventSem((HSEM)g_tick_sem, &count);
|
||||||
|
if (g_moo) moo_switchprocess (g_moo);
|
||||||
|
}
|
||||||
|
|
||||||
|
DosStopTimer (g_tick_timer);
|
||||||
|
DosCloseEventSem ((HSEM)g_tick_sem);
|
||||||
|
|
||||||
|
g_tick_timer = NULL;
|
||||||
|
g_tick_sem = NULL;
|
||||||
|
DosExit (EXIT_THREAD, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
#elif defined(macintosh)
|
#elif defined(macintosh)
|
||||||
|
|
||||||
static TMTask g_tmtask;
|
static TMTask g_tmtask;
|
||||||
@ -2627,8 +2666,8 @@ static void setup_tick (void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
#elif defined(__OS2__)
|
#elif defined(__OS2__)
|
||||||
/* TODO: */
|
/* TODO: Error check */
|
||||||
#error UNSUPPORTED
|
DosCreateThread (&g_tick_tid, os2_wait_for_timer_event, 0, 0, 4096);
|
||||||
|
|
||||||
#elif defined(macintosh)
|
#elif defined(macintosh)
|
||||||
|
|
||||||
@ -2677,8 +2716,8 @@ static void cancel_tick (void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
#elif defined(__OS2__)
|
#elif defined(__OS2__)
|
||||||
/* TODO: */
|
if (g_tick_sem) DosPostEventSem (g_tick_sem);
|
||||||
#error UNSUPPORTED
|
g_tick_done = 1;
|
||||||
|
|
||||||
#elif defined(macintosh)
|
#elif defined(macintosh)
|
||||||
RmvTime ((QElem*)&g_tmtask);
|
RmvTime ((QElem*)&g_tmtask);
|
||||||
|
Loading…
Reference in New Issue
Block a user