Mercurial > hg > xemacs-beta
diff src/systime.h @ 611:38db05db9cb5
[xemacs-hg @ 2001-06-08 12:21:09 by ben]
------ gc-in-window-procedure fixes ------
alloc.c: Create "post-gc actions", to avoid those dreaded "GC during window
procedure" problems.
event-msw.c: Abort, clean and simple, when GC in window procedure. We want
to flush these puppies out.
glyphs-msw.c: Use a post-gc action when destroying subwindows.
lisp.h: Declare register_post_gc_action().
scrollbar-msw.c: Use a post-gc action when unshowing scrollbar windows, if in gc.
redisplay.c: Add comment about the utter evilness of what's going down here.
------ cygwin setitimer fixes ------
Makefile.in.in: Compile profile.c only when HAVE_SETITIMER.
nt.c: Style fixes.
nt.c: Move setitimer() emulation to win32.c, because Cygwin needs it too.
profile.c: Make sure we don't compile if no setitimer(). Use qxe_setitimer()
instead of just plain setitimer().
signal.c: Define qxe_setitimer() as an encapsulation around setitimer() --
call setitimer() directly unless Cygwin or MS Win, in which case
we use our simulated version in win32.c.
systime.h: Prototype mswindows_setitimer() and qxe_setitimer(). Long
comment about "qxe" and the policy regarding encapsulation.
win32.c: Move setitimer() emulation here, so Cygwin can use it.
Rename a couple of functions and variables to be longer and more
descriptive. In setitimer_helper_proc(), send the signal
using either mswindows_raise() or (on Cygwin) kill(). If for
some reason we are still getting lockups, we'll change the kill()
to directly invoke the signal handlers.
------ windows shell fixes ------
callproc.c, ntproc.c: Comments about how these two files must die.
callproc.c: On MS Windows, init shell-file-name from SHELL, then COMSPEC,
not just COMSPEC. (more correct and closer to FSF.) Don't
force a value for SHELL into the environment. (Comments added
to explain why not.)
nt.c: Don't shove a fabricated SHELL into the environment. See above.
------ misc fixes ------
glyphs-shared.c: Style correction.
xemacs-faq.texi: Merge in the rest of Hrvoje's Windows FAQ. Redo section 7
to update current reality and add condensed versions of
new changes for 21.1 and 21.4. (Not quite done for 21.4.)
Lots more Windows updates.
process.el: Need to quote a null
argument, too. From Dan Holmsand.
startup.el:
startup.el: Call MS Windows init function.
win32-native.el: Correct comments at top. Correctly handle passing arguments
to Cygwin programs and to bash. Fix quoting of zero-length
arguments (from Dan Holmsand). Set shell-command-switch based
on shell-file-name, which in turn comes from env var SHELL.
author | ben |
---|---|
date | Fri, 08 Jun 2001 12:21:27 +0000 |
parents | 4f6ba8f1fb3d |
children | af57a77cbc92 |
line wrap: on
line diff
--- a/src/systime.h Thu Jun 07 06:37:25 2001 +0000 +++ b/src/systime.h Fri Jun 08 12:21:27 2001 +0000 @@ -241,9 +241,9 @@ void get_process_times (double *user_time, double *system_time, double *real_time); -#if defined(WIN32_NATIVE) +#ifdef WIN32_NATIVE -/* setitimer emulation for Win32 (see nt.c) */ +/* setitimer emulation for Win32 (see win32.c) */ struct itimerval { @@ -251,12 +251,46 @@ struct timeval it_interval; }; -int setitimer (int kind, const struct itimerval* itnew, - struct itimerval* itold); - #define ITIMER_REAL 1 #define ITIMER_PROF 2 #endif /* WIN32_NATIVE */ +#if defined (WIN32_NATIVE) || defined (CYGWIN) + +int mswindows_setitimer (int kind, const struct itimerval *itnew, + struct itimerval *itold); + +#endif /* defined (WIN32_NATIVE) || defined (CYGWIN) */ + +/* #### Move this comment elsewhere when we figure out the place. + + "qxe" is a unique prefix used to identify encapsulations of standard + library functions. We used to play pre-processing games but in + general this leads to nothing but trouble because someone first + encountering the code will have no idea that what appears to be a + call to a library function has actually been redefined to be a call + somewhere else. This is doubly true when the redefinition occurs + in out-of-the way s+m files and only on certainly systems. + + By making the encapsulation explicit we might be making the code + that uses is slightly less pretty, but this is more than compensated + for by the huge increase in clarity. + + "Standard library function" can refer to any function in any + standard library. If we are explicitly changing the semantics + (e.g. Mule-encapsulating), we should use an extended version of + the prefix, e.g. perhaps "qxe_xlat_" for functions that Mule- + encapsulate, or "qxe_retry_" for functions that automatically + retry a system call interrupted by EINTR. In general, if there + is no prefix extension, it means the function is trying to + provide (more or less) the same semantics as the standard library + function; but be aware that the reimplementation may be incomplete + or differ in important respects. This is especially the case + when attempts are made to implement Unix functions on MS Windows. +*/ + +int qxe_setitimer (int kind, const struct itimerval *itnew, + struct itimerval *itold); + #endif /* INCLUDED_systime_h_ */