aboutsummaryrefslogtreecommitdiffstats
path: root/src/filelock.c
Commit message (Collapse)AuthorAgeFilesLines
* Remove reference to defunct vms-pwd.h.Thien-Thi Nguyen2005-04-201-4/+2
| | | | For pwd.h, use HAVE_PWD_H, not !VMS.
* (lock_file_1): Call get_boot_time early. IncreaseAndreas Schwab2004-11-271-2/+4
| | | | buffer size.
* Add arch taglinesMiles Bader2003-09-011-0/+3
|
* Trailing whitespace deleted.Juanma Barranquero2003-02-041-18/+18
|
* Most uses of XSTRING combined with STRING_BYTES or indirection changed toKen Raeburn2002-07-151-8/+8
| | | | | SCHARS, SBYTES, STRING_INTERVALS, SREF, SDATA; explicit size_byte references left unchanged for now.
* (S_ISLNK): Define if not defined.Richard M. Stallman2002-02-061-0/+4
|
* (Funlock_buffer, Ffile_locked_p): Doc fixes.Richard M. Stallman2001-11-141-4/+6
|
* Change doc-string comments to `new style' [w/`doc:' keyword].Pavel Janík2001-11-131-14/+14
|
* Update usage of CHECK_ macros (remove unused second argument).Pavel Janík2001-11-021-1/+1
|
* (current_lock_owner): Fix last change.Gerd Moellmann2001-09-141-2/+2
|
* Fix last change.Gerd Moellmann2001-09-131-0/+1
|
* (current_lock_owner): If readlink returns ERANGE,Gerd Moellmann2001-09-131-0/+5
| | | | take that to mean that the buffer is too small.
* (unlock_all_files): Use unlock_file to expand eachGerd Moellmann2000-10-241-7/+3
| | | | buffer's file_truename before trying remove its lock file.
* Use feature tests for fcntl.h, string.h. Don't include time.h, done byDave Love2000-06-231-10/+9
| | | | | systime.h. [__FreeBSD__]: Remove redundant includes.
* (get_boot_time): To obtain an 8 char file name, whichGerd Moellmann2000-05-161-2/+8
| | | | | is needed on mescaline, use a 2 char prefix, and call make_temp_name with second arg non-zero.
* (MAKE_LOCK_NAME): Allocate 2 more bytes.Gerd Moellmann2000-04-141-2/+18
| | | | | (fill_in_lock_file_name): Avoid existing files that aren't links.
* Add forward declaration for get_boot_time_1.Dave Love1999-11-181-0/+5
|
* (Ffile_locked_p): Make FILENAME a required argument.Gerd Moellmann1999-11-051-1/+1
|
* Add support for large files, 64-bit Solaris, system locale codings.Paul Eggert1999-10-191-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Makefile.in (emacs): Set the LC_ALL environment variable to "C" when dumping, so that the dumped Emacs doesn't have stray locale info. (dired.o): Depend on systime.h. (editfns.o): Depend on coding.h. * alloc.c, buffer.c, callproc.c, ccl.c, charset.c, coding.c, data.c, dispnew.c, editfns.c, emacs.c, filelock.c, floatfns.c, hftctl.c, keyboard.c, process.c, sysdep.c, unexelf.c, unexhp9k800.c, unexsunos4.c, vmsfns.c, vmsgmalloc.c, w32faces.c, w32menu.c, w32term.c, w32xfns.c, xfaces.c, xfns.c, xmenu.c, xterm.c: Include <config.h> before any system include files. * alloc.c, buffer.c, ccl.c, data.c, editfns.c, emacs.c, eval.c, fileio.c, filelock.c, frame.c, insdel.c, keymap.c, lread.c, m/alpha.h, print.c, search.c, sysdep.c, xdisp.c, xfaces.c, xfns.c, xmenu.c, xterm.c: Do not include <stdlib.h>, as <config.h> does this now. * callproc.c (Fcall_process): Synchronize messages locale before invoking strerror. Decode resulting string with locale-coding-system. * coding.c (Vlocale_coding_system): New var. (syms_of_coding): Adjust to above change. (emacs_strerror): New function. * coding.h (emacs_strerror, Vlocale_coding_system): New decls. * config.in (HAVE_STDIO_EXT_H, HAVE_TM_GMTOFF, HAVE___FPENDING, HAVE_FTELLO, HAVE_GETLOADAVG, HAVE_MBLEN, HAVE_MBRLEN, HAVE_STRSIGNAL): New macros. (BITS_PER_LONG): Default to 64 if _LP64 is defined. <stdlib.h>: Include if HAVE_STDLIB_H is defined and NOT_C_CODE isn't. * dired.c: Include "systime.h". (Ffile_attributes): Do not cast s.st_size to int; this loses information if int is 32 bits but st_size and EMACS_INT are larger. Treat large device numbers like large inode numbers. * dispnew.c (PENDING_OUTPUT_COUNT): Use __fpending if available. * editfns.c: Include coding.h. (emacs_strftime): Remove decl. (emacs_strftimeu): New decl. (emacs_memftimeu): Renamed from emacs_memftime; new arg UT. Use emacs_strftimeu instead of emacs_strftime. (Fformat_time_string): Convert format string using Vlocale_coding_system, and convert result back. Synchronize time locale before invoking lower level function. Invoke emacs_memftimeu, passing ut, instead of emacs_memftime. * emacs.c: Include <locale.h> if HAVE_SETLOCALE is defined. (Vmessages_locale, Vprevious_messages_locale, Vtime_locale, Vprevious_time_locale): New variables. (main): Invoke setlocale early, so that initial error messages are localized properly. But skip locale-setting if LC_ALL is "C". Fix up locale when it's safe to do so. (fixup_locale): Moved here from xterm.c. (synchronize_locale, synchronize_time_locale, synchronize_messages_locale): New functions. (syms_of_emacs): Accommodate above changes. * fileio.c (report_file_error): Convert strerror output according to Vlocale_coding_system. (Finsert_file_contents): Check for arithmetic overflow in computations that depend on file size. Report IO errors with emacs_strerror, not strerror. * fns.c (Fgethash): Declare dflt parameter. * gmalloc.c: Do not define const to nothing if HAVE_CONFIG_H is defined; that's config.h's job. * lisp.h (EMACS_INT, BITS_PER_EMACS_INT, EMACS_UINT): If _LP64, default these values to long, BITS_PER_LONG, and unsigned long. (VALBITS, MARKBIT, XINT): Do not assume 32-bit EMACS_INT. (PNTR_COMPARISON_TYPE): Default to EMACS_UINT, not to unsigned int. (code_convert_string_norecord, fixup_locale, synchronize_messages_locale, synchronize_time_locale, emacs_open, emacs_close, emacs_read, emacs_write): New decls. All Emacs callers of open, close, read, write changed to use emacs_open, emacs_close, emacs_read, emacs_write. * lread.c (file_offset, file_tell): New macros. All uses of ftell changed to file_tell. (saved_doc_string_position, prev_saved_doc_string_position): Now of type file_offset. (init_lread): Do not fix locale here; fixup_locale now does this. * m/amdahl.h, s/usg5-4.h: (NSIG): Remove. (NSIG_MINIMUM): New macro. * m/cydra5.h, m/dpx2.h, m/mips.h, m/pfa50.h, m/sps7.h, m/stride.h, m/ustation.h, s/gnu-linux.h, s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/umips.h, s/usg5-4.h: (SIGIO): Do not undef. (BROKEN_SIGIO): New macro. * m/ustation.h: (SIGTSTP): Do not undef. (BROKEN_SIGTSTP): New macro. * s/gnu-linux.h: (SIGPOLL, SIGURG): Do not undef. (BROKEN_SIGPOLL, BROKEN_SIGURG): New macros. * s/ptx4.h: (SIGINFO): Do not undef. (BROKEN_SIGINFO): New macros. * m/delta.h, s/ptx.h, s/template.h: Doc fix. * mktime.c, strftime.c: Update to glibc 2.1.2 version, with some Emacs-related changes merged. * print.c (float_to_string): Prepend "-" to representation of a NaN if the NaN is negative. * process.c (sys_siglist): Omit if HAVE_STRSIGNAL. (wait_reading_process_input): Use emacs_strerror, not strerror. * process.c (status_message, sigchld_handler): Synchronize locale, then use strsignal istead of sys_siglist. * w32proc.c (sys_wait): Likewise. * s/aix3-1.h, s/bsd4-1.h, s/dgux.h, s/gnu-linux.h, s/hiuxmpp.h, s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/osf1.h, s/rtu.h, s/sunos4-1.h, s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h, s/usg5-3.h, s/xenix.h: (open, close, read, write, INTERRUPTIBLE_OPEN, INTERRUPTIBLE_CLOSE, INTERRUPTIBLE_IO): Remove. * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): New macros. * sysdep.c (sys_read, sys_write, read, write, sys_close, close, sys_open, open): Remove. (emacs_open, emacs_close, emacs_read, emacs_write): Always define; the old INTERRUPTIBLE_OPEN, INTERRUPTIBLE_CLOSE, and INTERRUPTIBLE_IO macros are no longer used. (emacs_open): Renamed from sys_open. Merge BSD4_1 version. (emacs_close): Renamed from sys_close. (emacs_read): Renamed from sys_read. (emacs_write): Renamed from sys_write. (sys_siglist): Do not declare if HAVE_STRSIGNAL. (dup2): Do not print error on failure; the real dup2 doesn't. (strsignal): New function, defined if !HAVE_STRSIGNAL. * syssignal.h (SIGINFO): Undef if defined and if BROKEN_SIGINFO is defined. (SIGIO, SIGPOLL, SIGTSTP, SIGURG): Likewise. (NSIG): If less than NSIG_MINIMUM, define to NSIG_MINIMUM. (strsignal): Declare if !HAVE_STRSIGNAL. * unexelf.c (ElfBitsW, ELFSIZE, ElfExpandBitsW): New macros. (ElfW): Define in terms of ElfExpandBitsW. * w32proc.c (sys_siglist): Remove decl. * xdisp.c (decode_mode_spec): 3rd arg is int, not char, to comply with ANSI C. (display_string): Declare face_string_pos arg. * xfns.c (Fx_show_tip): Declare timeout param. * xterm.c: No need to include locale.h. (x_alloc_lighter_color, x_setup_relief_color): Pass arg as double, not float, for compatibility with ANSI C. (fixup_locale): Move to emacs.c. (x_term_init): Do not setlocale or fixup locale; the main program does this now.
* (lock_file): Fix previous change.Dave Love1999-10-141-1/+1
|
* (lock_file): Move gcpro of `fn'.Dave Love1999-10-131-2/+2
|
* (get_boot_time): Put local variable used inGerd Moellmann1999-09-201-0/+3
| | | | | conditinally compiled section in #ifdef. (toplevel): Include stdio.h.
* (Vtemporary_file_directory): New variable.Richard M. Stallman1999-09-161-2/+12
| | | | | | (syms_of_filelock): Set up Lisp variable. (get_boot_time): Make the temp name in the proper dir.
* Use XCAR, XCDR, and XFLOAT_DATA instead of explicit member access.Ken Raeburn1999-09-131-2/+2
|
* Use stdlib.h.Dave Love1999-08-181-0/+3
|
* Comment change.Richard M. Stallman1999-08-021-1/+1
|
* (lock_if_free): Indentation fix.Karl Heuer1999-07-301-1/+1
|
* (lock_if_free): Return -1 if check_lock_owner()Karl Heuer1999-07-221-0/+2
| | | | has returned -1 (lockfile exists but is not a symlink?)
* (lock_file): Do nothing if purifying.Richard M. Stallman1999-07-141-0/+6
|
* (BOOT_TIME_FILE): New macro.Paul Eggert1999-06-181-7/+16
| | | | | (get_boot_time): Use it instead of hardwiring the file name. Check BOOT_TIME_FILE only after inspecting the kernel directly.
* (get_boot_time): Don't look at /proc/uptime; itKarl Heuer1999-06-051-36/+5
| | | | | | doesn't work if the system date is changed, or if the system is suspended. Look at the last-modified time of /var/run/random-seed instead.
* (lock_if_free): After deleting a stale lock,Richard M. Stallman1999-05-241-2/+2
| | | | try again to lock the file.
* Comment change.Richard M. Stallman1999-05-191-1/+7
|
* Fix performance bug on hosts with largeRichard M. Stallman1999-05-191-16/+52
| | | | | | | | | | | | | | | | | /var/adm/wtmp files with no boot records. (boot_time_initialized): New var. (init_filelock): Initialize it. (get_boot_time): Use it, instead of nonzero boot_time, to test whether boot_time is initialized. Don't invoke utmp routines when dumping. (get_boot_time): First, try to get the boot time from the current utmp file, as this can be much faster. Don't try to get the boot time from utmp and/or wtmp more than once. (get_boot_time_1): When passed null pointer, don't invoke utmpname. New arg LATEST. All uses changed.
* (get_boot_time): Handle NO_WTMP_FILE.Karl Heuer1999-05-091-1/+1
|
* (get_boot_time): Test tempname, not filename.Karl Heuer1999-03-181-1/+1
|
* (init_filelock): New function.Karl Heuer1999-03-091-0/+6
|
* (get_boot_time): Reduce scope of #ifdef BOOT_TIMEKarl Heuer1999-03-091-1/+1
| | | | to only the part that uses get_boot_time_1.
* (get_boot_time): Support FreeBSD way to read boot-time.Karl Heuer1999-03-011-0/+23
|
* (get_boot_time): Use WTMP_FILE for file name.Richard M. Stallman1999-02-261-5/+18
| | | | | (WTMP_FILE): Default definition in case not defined. (get_boot_time_1): Test that file exists before trying to read it.
* (get_boot_time): Don't use BUFSIZ.Karl Heuer1999-02-231-2/+2
|
* (get_boot_time_1): Put this in #ifdef BOOT_TIME.Richard M. Stallman1999-02-211-0/+2
|
* (within_one_second): New function.Richard M. Stallman1999-02-191-8/+106
| | | | | | | (current_lock_owner): Use that. (get_boot_time): Use /proc/uptime if available. Otherwise, if nothing found in wtmp, try wtmp.1.gz and so on. (get_boot_time_1): New subroutine taken from get_boot_time.
* (get_boot_time): Scan the whole wtmp fileRichard M. Stallman1998-05-181-5/+19
| | | | to find the most recent reboot.
* (unlock_file): Encode the file name.Richard M. Stallman1998-05-111-0/+1
|
* Include coding.h.Richard M. Stallman1998-05-021-2/+5
| | | | (lock_file): Encode the file name, to make lock file name.
* Fix previous change.Richard M. Stallman1998-04-291-2/+2
|
* (lock_file): gcpro `fn'.Richard M. Stallman1998-04-291-0/+6
|
* (get_boot_time): Remove extraneous semicolon.Erik Naggum1998-04-221-1/+1
|
* Fix -Wimplicit warnings.Andreas Schwab1998-04-141-0/+6
|