summaryrefslogtreecommitdiff
path: root/libguile/stime.h
Commit message (Expand)AuthorAgeFilesLines
* scm_c_get_internal_run_time is more precise...* libguile/stime.h (SCM_TIME_UNITS_PER_SECOND): Redefine to point to a C variable instead of being a pure preprocessor thing. This has the possibility to break existing compiled C extensions' interpretation of the internal-time-units-per-second, but hopefully there's no too much of that code out there, and in the worst case they can just recompile. Scheme code will get it right without the need to recompile. * libguile/stime.c (TIME_UNITS_PER_SECOND): New local define, and increase to nanosecond resolution if we are on a system in which this is useful and practical. (time_from_seconds_and_nanoseconds): New helper. (get_internal_real_time, get_internal_run_time): New global vars: function pointers. (get_internal_real_time_posix_timer): (get_internal_run_time_posix_timer): (get_internal_real_time_gettimeofday): (get_internal_run_time_times): (get_internal_real_time_fallback): Various implementations. (scm_get_internal_real_time): Return the get_internal_real_time() result. (scm_c_get_internal_run_time): Likewise. (scm_gettimeofday): No need for a critical section, and remove obsolete ftime block. (scm_init_stime): Init all of the new time bases, and decide on implementations of real time and run time accessors. Andy Wingo2011-05-041-25/+3
* Change Guile license to LGPLv3+...(Not quite finished, the following will be done tomorrow. module/srfi/*.scm module/rnrs/*.scm module/scripts/*.scm testsuite/*.scm guile-readline/* ) Neil Jerram2009-06-171-6/+7
* Add `SCM_INTERNAL' macro, use it.Ludovic Courtès2008-05-311-2/+2
* merge from 1.8 branchKevin Ryde2006-04-171-1/+1
* The FSF has a new address.Marius Vollmer2005-05-231-1/+1
* (SCM_TIME_UNITS_PER_SECOND): Use sysconf(_SC_CLK_TCK) when...available. This also gets around CLK_TCK being absent when _GNU_SOURCE and _POSIX_C_SOURCE are defined in stime.c. Kevin Ryde2004-09-061-1/+15
* Changed license terms to the plain LGPL thru-out.Marius Vollmer2003-04-051-35/+11
* * stime.h: move handling of time related headers to scmconfig.h.Rob Browning2003-03-261-13/+0
* * threads.h, threads.c: Moved futures to their own file....* Makefile.am (libguile_la_SOURCES): Added futures.c. (DOT_X_FILES): Added futures.x. (DOT_DOC_FILES): Added futures.doc. (modinclude_HEADERS): Added futures.h. * threads.c, threads.h (scm_i_create_thread): Renamed from create_thread and made global. * eval.c: #include "libguile/futures.h". * init.c: #include "futures.h" (scm_init_guile_1): Call scm_init_futures. * stime.c (SCM_TIME_UNITS_PER_SECOND): Renamed from CLKTCK. * stime.h (SCM_TIME_UNITS_PER_SECOND): Definition moved here. * eval.c, eval.h (scm_trampoline_0, scm_i_call_closure_0): New functions. * eval.c (scm_trampoline_1): Fixed arguments test for closures. Mikael Djurfeldt2003-01-231-1/+27
* Prefixed each each exported symbol with SCM_API.Marius Vollmer2001-11-021-13/+13
* * Renamed header macros to the SCM_<filename>_H format.Dirk Herrmann2001-08-311-4/+6
* * stime.c (scm_c_get_internal_run_time): new function, same as...scm_get_internal_run_time but returns a long. it's used by the GC for timekeeping, since with scm_get_internal_run_time there is a (extremely theoretical) possibility of consing. (scm_get_internal_run_time): redefined in terms of scm_c_get_internal_run_time. * stime.h: added prototype for scm_c_get_internal_run_time. Michael Livshin2000-08-161-3/+4
* Updated copyrightsMikael Djurfeldt2000-06-121-1/+1
* * *.[hc]: add Emacs magic at the end of file, to ensure GNU... indentation style. Michael Livshin2000-03-191-0/+6
* * list.c: Moved append docs to append! Thanks Dirk Hermann. Also,...added append docs from R4RS. * strings.c: Docstring typo fix, + eliminate unneeded IMP tests. Thanks Dirk Hermann! * chars.h: Provide SCM_CHARP, SCM_CHAR, SCM_MAKE_CHAR and deprecate SCM_ICHRP, SCM_ICHR, SCM_MAKICHR. Thanks Dirk Hermann! * *.h, *.c: Use SCM_CHARP, SCM_CHAR, SCM_MAKE_CHAR throughout. Drop use of SCM_P for function prototypes... assume an ANSI C compiler. Thanks Dirk Hermann! Greg J. Badros2000-03-021-6/+6
* * __scm.h, alist.c, async.c, async.h, backtrace.h, chars.c,...continuations.c, debug.c, debug.h, dynl-dl.c, dynl.c, dynl.h, dynwind.c, dynwind.h, eq.c, error.c, error.h, eval.c, eval.h, feature.c, filesys.c, filesys.h, fports.c, fports.h, gc.c, gc.h, genio.c, genio.h, gh.h, gh_data.c, gsubr.c, gsubr.h, hash.c, hashtab.c, init.c, init.h, ioext.c, ioext.h, kw.c, libguile.h, list.c, list.h, load.c, load.h, mallocs.c, markers.c, mit-pthreads.c, net_db.c, numbers.c, numbers.h, options.c, ports.c, ports.h, posix.c, posix.h, print.c, print.h, procprop.c, procprop.h, procs.c, procs.h, ramap.c, ramap.h, regex-posix.c, regex-posix.h, root.c, root.h, scmsigs.c, scmsigs.h, script.c, script.h, simpos.c, simpos.h, smob.c, smob.h, snarf.h, socket.c, srcprop.c, stackchk.c, stackchk.h, stacks.c, stime.c, stime.h, strings.c, strings.h, strports.c, struct.c, struct.h, symbols.c, symbols.h, tags.h, threads.c, throw.h, unif.c, variable.c, vectors.c, vectors.h, version.h, vports.c, weaks.c: Update copyright years. Jim Blandy1998-10-191-1/+1
* * stime.h: Renamed TIMEH --> STIMEHMikael Djurfeldt1998-07-121-3/+3
* * stime.h: prototype for scm_times....* stime.c (scm_times): new procedure. * ioext.c (scm_fseek): if the first argument is a file descriptor call lseek. (scm_ftell): if the first argument is a file descriptor call lseek (sic). * filesys.h: prototypes for scm_open_fdes, scm_fsync. * filesys.c (scm_chmod): if the first argument is a file descriptor, call fchmod. (scm_chown): if the first argument is a port or file descriptor, call fchown. (scm_truncate_file): new procedure. Add DEFER/ALLOW INTS to a few other procedures. (scm_fsync): new procedure. (scm_open_fdes): new procedure. (scm_open): use scm_open_fdes. If mode isn't specified, 666 will now be used. (scm_fcntl): the first argument can now be a file descriptor. The third argument is now optional. * posix.c (scm_execl, scm_execlp): make the filename argument compulsory, since omitting it causes SEGV. (scm_sync): return unspecified instead of #f. (scm_execle): new procedure. (environ_list_to_c): new procedure. (scm_environ): use environ_list_to_c. disable interrupts. (scm_convert_exec_args): take pos and subr arguments and improve error checking. * boot-9.scm: define tms accessors: clock, utime, stime, cutime, cstime. Gary Houston1997-08-161-0/+1
* * Lots of files: New address for FSF.Jim Blandy1997-05-261-3/+3
* * stime.c (scm_mktime): take an optional zone argument.... (scm_localtime): check putenv return value. (scm_strftime, scm_strptime): moved from posix.c. move #include sequences.h too. stime.h, posix.h: update prototypes. (bdtime2c, setzone, restorezone): new static procedures. (scm_mktime, scm_strftime): use them. (scm_strftime): don't call mktime before strftime. Use filltime for return value. (filltime): convert NULL zname to #f. * (scm_strptime): return a count of characters consumed, not the remaining string. * stime.c (scm_localtime): check HAVE_TM_ZONE and HAVE_TZNAME. (scm_mktime): likewise. Declare *tzname[]. Uncomment localtime and mktime. * configure.in: add AC_STRUCT_TIMEZONE. Gary Houston1997-04-121-1/+3
* * stime.c (scm_init_stime): don't define ticks/sec....(scm_gettimeofday): renamed from scm_time_plus_ticks (avoids multiple return value problem and is still portable.) Gary Houston1997-04-061-1/+1
* * posix.c (scm_putenv): don't check HAVE_PUTENV....* Makefile.am (EXTRA_libguile_la_SOURCES): add putenv.c. * configure.in: move putenv from AC_CHECK_FUNCS to AC_REPLACE_FUNCS. * putenv.c: new file, from sh-utils 1.12. * posix.c (scm_environ): use malloc in place of scm_must_malloc since allocation isn't for Scheme objects. (scm_putenv): copy strings before placing in the environment. * stime.c (scm_current_time): throw an error if time returns -1, instead of returning #f. (scm_get_internal_real_time, scm_get_internal_real_time): use scm_long2num for return value instead of SCM_MAKINUM. * stime.h: prototypes updated. * stime.c (scm_time_in_msec): apparently unused, deleted. * configure.in: check for gettimeofday. * stime.c (scm_time_plus_ticks): new procedure, an scsh interface which may be more usefully portable than a gettimeofday interface. * stime.c (filltime): recovered static procedure. (scm_localtime, scm_gmtime, scm_mktime, scm_tzset): recovered from an earlier Guile. * posix.h: add prototype for scm_close_pipe, remove prototypes for scm_open_input_pipe, scm_open_output_pipe, change scm_mknod prototype. * * posix.c (scm_mknod): split the mode argument into type and perms arguments, like the extra fields returned by stat. * fports.c (scm_pipob): set the close, free and print procedures. (scm_close_pipe): new procedure. * posix.c (scm_open_input_pipe, scm_open_output_pipe): deleted, define them in boot-9.scm Gary Houston1997-04-051-2/+6
* * error.c, eval.c, load.c, stackchk.c: use scm_error not lgh_error....* __scm.h (lgh_error): removed, lgh shouldn't be in libguile. * stime.c, stime.h: use SCM_P method. Gary Houston1996-10-121-20/+5
* * numbers.h: Repeated declarations removed....* ports.h (scm_close_all_ports_except): Declaration for the function defined in ports.c added. * posix.h: Missing declarations added. * procs.h (scm_make_subr_opt): Missing declaration added. * socket.h (scm_sys_gethost): Missing declaration added. * socket.h: Redundant declarations removed (they are in fdsocket.h). * srcprop.h (scm_set_source_property_x, scm_finish_srcprop): Missing declarations added. * stime.h (scm_get_internal_real_time): Repeated declarations removed. * struct.c: Uninitialized variable `SCM answer' may be used. * unif.c (l2ra): Declaration prototype. * unif.c (scm_array_equal_p): Dummy definition removed (it is defined in ramap.c). * unif.h (scm_raprin1, scm_istr2bve, scm_array_equal_p): Redundant declarations removed (they are in ramap.h). * variable.h (scm_make_udvariable, scm_make_undefined_variable): Declaration corrected to correspond variable.c. * vectors.h (scm_vector_move_left_x, scm_vector_move_right_x): Missing declarations added. Jim Blandy1996-09-111-4/+0
* * alist.h, append.h, arbiters.h, async.h, boolean.h, chars.h,...continuations.h, debug.h, dynwind.h, error.h, eval.h, fdsocket.h, feature.h, filesys.h, fports.h, gc.h, gdbint.h, genio.h, gsubr.h, hash.h, init.h, ioext.h, kw.h, list.h, markers.h, marksweep.h, mbstrings.h, numbers.h, objprop.h, options.h, pairs.h, ports.h, posix.h, print.h, procprop.h, procs.h, ramap.h, read.h, root.h, sequences.h, smob.h, socket.h, srcprop.h, stackchk.h, stime.h, strings.h, strop.h, strorder.h, strports.h, struct.h, symbols.h, tag.h, throw.h, unif.h, variable.h, vectors.h, version.h, vports.h, weaks.h: #include "libguile/__scm.h", not <libguile/__scm.h>. This allows 'gcc -MM' to determine which dependencies are within libguile properly. Jim Blandy1996-09-051-1/+1
* Don't install the unwashed masses of Guile header files in the...main #include path; put most of them in a subdirectory called 'libguile'. This avoids naming conflicts between Guile header files and system header files (of which there were a few). * Makefile.in (pkgincludedir): Deleted. (innerincludedir): New variable; this and $(includedir) are enough. (INCLUDE_CFLAGS): Search for headers in "-I$(srcdir)/..". (installed_h_files): Divide this up. Now this variable lists those header files which should go into $(includedir) (i.e. appear directly in the #include path), and ... (inner_h_files): ... this new variable says which files appear in a subdirectory, and are referred to as <libguile/mumble.h>. (h_files): List them both. (install): Create innerincludedir, not pkgincludedir. Put the installed_h_files and inner_h_files in their proper places. (uninstall): Corresponding changes. * alist.h, append.h, arbiters.h, async.h, boolean.h, chars.h, continuations.h, debug.h, dynwind.h, error.h, eval.h, fdsocket.h, feature.h, fports.h, gc.h, genio.h, gsubr.h, hash.h, init.h, ioext.h, kw.h, libguile.h, list.h, markers.h, marksweep.h, mbstrings.h, numbers.h, options.h, pairs.h, ports.h, posix.h, print.h, procprop.h, procs.h, ramap.h, read.h, root.h, sequences.h, smob.h, socket.h, srcprop.h, stackchk.h, stime.h, strings.h, strop.h, strorder.h, strports.h, struct.h, symbols.h, tag.h, throw.h, unif.h, variable.h, vectors.h, version.h, vports.h, weaks.h: Find __scm.h in its new location. * __scm.h: Find scmconfig.h and tags.h in their new locations (they're both "inner" files). Jim Blandy1996-09-041-1/+1
* maintainer changed: was lord, now jimb; first importJim Blandy1996-07-251-0/+75