Mercurial > hg > xemacs-beta
comparison 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 |
comparison
equal
deleted
inserted
replaced
610:45ba69404a1f | 611:38db05db9cb5 |
---|---|
239 #endif | 239 #endif |
240 | 240 |
241 void get_process_times (double *user_time, double *system_time, | 241 void get_process_times (double *user_time, double *system_time, |
242 double *real_time); | 242 double *real_time); |
243 | 243 |
244 #if defined(WIN32_NATIVE) | 244 #ifdef WIN32_NATIVE |
245 | 245 |
246 /* setitimer emulation for Win32 (see nt.c) */ | 246 /* setitimer emulation for Win32 (see win32.c) */ |
247 | 247 |
248 struct itimerval | 248 struct itimerval |
249 { | 249 { |
250 struct timeval it_value; | 250 struct timeval it_value; |
251 struct timeval it_interval; | 251 struct timeval it_interval; |
252 }; | 252 }; |
253 | 253 |
254 int setitimer (int kind, const struct itimerval* itnew, | |
255 struct itimerval* itold); | |
256 | |
257 #define ITIMER_REAL 1 | 254 #define ITIMER_REAL 1 |
258 #define ITIMER_PROF 2 | 255 #define ITIMER_PROF 2 |
259 | 256 |
260 #endif /* WIN32_NATIVE */ | 257 #endif /* WIN32_NATIVE */ |
261 | 258 |
259 #if defined (WIN32_NATIVE) || defined (CYGWIN) | |
260 | |
261 int mswindows_setitimer (int kind, const struct itimerval *itnew, | |
262 struct itimerval *itold); | |
263 | |
264 #endif /* defined (WIN32_NATIVE) || defined (CYGWIN) */ | |
265 | |
266 /* #### Move this comment elsewhere when we figure out the place. | |
267 | |
268 "qxe" is a unique prefix used to identify encapsulations of standard | |
269 library functions. We used to play pre-processing games but in | |
270 general this leads to nothing but trouble because someone first | |
271 encountering the code will have no idea that what appears to be a | |
272 call to a library function has actually been redefined to be a call | |
273 somewhere else. This is doubly true when the redefinition occurs | |
274 in out-of-the way s+m files and only on certainly systems. | |
275 | |
276 By making the encapsulation explicit we might be making the code | |
277 that uses is slightly less pretty, but this is more than compensated | |
278 for by the huge increase in clarity. | |
279 | |
280 "Standard library function" can refer to any function in any | |
281 standard library. If we are explicitly changing the semantics | |
282 (e.g. Mule-encapsulating), we should use an extended version of | |
283 the prefix, e.g. perhaps "qxe_xlat_" for functions that Mule- | |
284 encapsulate, or "qxe_retry_" for functions that automatically | |
285 retry a system call interrupted by EINTR. In general, if there | |
286 is no prefix extension, it means the function is trying to | |
287 provide (more or less) the same semantics as the standard library | |
288 function; but be aware that the reimplementation may be incomplete | |
289 or differ in important respects. This is especially the case | |
290 when attempts are made to implement Unix functions on MS Windows. | |
291 */ | |
292 | |
293 int qxe_setitimer (int kind, const struct itimerval *itnew, | |
294 struct itimerval *itold); | |
295 | |
262 #endif /* INCLUDED_systime_h_ */ | 296 #endif /* INCLUDED_systime_h_ */ |