rktio: repairs for Linux
This commit is contained in:
parent
8a426eb086
commit
35d47f89f6
|
@ -923,6 +923,7 @@
|
||||||
__acrt_iob_func ; VC 14.0 (2015)
|
__acrt_iob_func ; VC 14.0 (2015)
|
||||||
|GetStdHandle| |__CFStringMakeConstantString|
|
|GetStdHandle| |__CFStringMakeConstantString|
|
||||||
_vswprintf_c
|
_vswprintf_c
|
||||||
|
malloc strdup
|
||||||
|
|
||||||
scheme_make_small_bignum scheme_make_small_rational scheme_make_small_complex))
|
scheme_make_small_bignum scheme_make_small_rational scheme_make_small_complex))
|
||||||
(define non-functions-table
|
(define non-functions-table
|
||||||
|
|
|
@ -59,7 +59,9 @@ ARLIBFLAGS = $(LDFLAGS) $(LDLIBS)
|
||||||
|
|
||||||
GRACKETLINKER = @MZLINKER@
|
GRACKETLINKER = @MZLINKER@
|
||||||
|
|
||||||
GRACKETLDLIBS@NOT_MINGW@ = ../racket/libracket.@LIBSFX@ ../racket/libmzgc.@LIBSFX@ $(LDLIBS)
|
LIBRKTIO = ../rktio/librktio.@LTA@
|
||||||
|
|
||||||
|
GRACKETLDLIBS@NOT_MINGW@ = ../racket/libracket.@LIBSFX@ ../racket/libmzgc.@LIBSFX@ @LIBRKTIO_FOR_LIB@ $(LDLIBS)
|
||||||
GRACKETLDLIBS@MINGW@ = ../racket/libracket.dll.a ../racket/libmzgc.dll.a $(LDLIBS) -ldelayimp -static-libgcc
|
GRACKETLDLIBS@MINGW@ = ../racket/libracket.dll.a ../racket/libmzgc.dll.a $(LDLIBS) -ldelayimp -static-libgcc
|
||||||
GRACKETLDFLAGS = $(LDFLAGS) -L../racket
|
GRACKETLDFLAGS = $(LDFLAGS) -L../racket
|
||||||
|
|
||||||
|
|
|
@ -92,10 +92,10 @@ GRACKETLINKER = @MZLINKER@
|
||||||
|
|
||||||
GRACKETLIBS_a = $(LDLIBS)
|
GRACKETLIBS_a = $(LDLIBS)
|
||||||
GRACKETLIBS_la =
|
GRACKETLIBS_la =
|
||||||
GRACKETMZOBJS_a = $(MZOBJS)
|
GRACKETMZOBJS_a = $(MZOBJS) ../../rktio/librktio.@LTA@
|
||||||
GRACKETMZOBJS_la =
|
GRACKETMZOBJS_la =
|
||||||
|
|
||||||
../gracket@MMM@@NOT_OSX@@NOT_MINGW@: grmain.@LTO@ ../../racket/libracket3m.@LIBSFX@
|
../gracket@MMM@@NOT_OSX@@NOT_MINGW@: grmain.@LTO@ ../../racket/libracket3m.@LIBSFX@ @LIBRKTIO_FOR_LIB@
|
||||||
$(GRACKETLINKER) $(GRACKETLDFLAGS) -o ../gracket@MMM@ grmain.@LTO@ ../../racket/libracket3m.@LIBSFX@ $(GRACKETMZOBJS_@LIBSFX@) $(GRACKETLIBS_@LIBSFX@)
|
$(GRACKETLINKER) $(GRACKETLDFLAGS) -o ../gracket@MMM@ grmain.@LTO@ ../../racket/libracket3m.@LIBSFX@ $(GRACKETMZOBJS_@LIBSFX@) $(GRACKETLIBS_@LIBSFX@)
|
||||||
|
|
||||||
../gracket@MMM@@MINGW@: grmain.@LTO@ ../../racket/gc2/libracket3m.dll.a ../gres.o
|
../gracket@MMM@@MINGW@: grmain.@LTO@ ../../racket/gc2/libracket3m.dll.a ../gres.o
|
||||||
|
|
|
@ -512,7 +512,7 @@ EXTRA_OBJS_L = $(EXTRA_GMP) ../src/unwind.@LTO@ $(@FOREIGN_IF_USED@_OBJSLIB) @LI
|
||||||
$(RANLIB) ../libracket3m.@LIBSFX@
|
$(RANLIB) ../libracket3m.@LIBSFX@
|
||||||
|
|
||||||
../racket@MMM@@NOT_OSX@@NOT_MINGW@: main.@LTO@ ../libracket3m.@LIBSFX@ @LIBRKTIO_FOR_LIB@
|
../racket@MMM@@NOT_OSX@@NOT_MINGW@: main.@LTO@ ../libracket3m.@LIBSFX@ @LIBRKTIO_FOR_LIB@
|
||||||
cd ..; @MZLINKER@ -o racket@MMM@ @PROFFLAGS@ gc2/main.@LTO@ libracket3m.@LIBSFX@ @LIBRKTIO_FOR_LIB@ @LDFLAGS@ $(LIBS)
|
cd ..; @MZLINKER@ -o racket@MMM@ @PROFFLAGS@ gc2/main.@LTO@ libracket3m.@LIBSFX@ gc2/@LIBRKTIO_FOR_LIB@ @LDFLAGS@ $(LIBS)
|
||||||
|
|
||||||
# The above "cd .." prevents a problem with libtool's generated script in --enable-shared mode,
|
# The above "cd .." prevents a problem with libtool's generated script in --enable-shared mode,
|
||||||
# at least for Mac OS X. Beware of changing LIBS or LDFLAGS to inclucde something with a relative
|
# at least for Mac OS X. Beware of changing LIBS or LDFLAGS to inclucde something with a relative
|
||||||
|
|
|
@ -503,7 +503,6 @@ static intptr_t tcp_do_write_string(Scheme_Output_Port *port,
|
||||||
can be flushed immediately, never ever blocking. */
|
can be flushed immediately, never ever blocking. */
|
||||||
|
|
||||||
Scheme_Tcp *data;
|
Scheme_Tcp *data;
|
||||||
int would_block = 0;
|
|
||||||
intptr_t sent;
|
intptr_t sent;
|
||||||
|
|
||||||
data = (Scheme_Tcp *)port->port_data;
|
data = (Scheme_Tcp *)port->port_data;
|
||||||
|
@ -547,7 +546,6 @@ static intptr_t tcp_do_write_string(Scheme_Output_Port *port,
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Ok - try again! */
|
/* Ok - try again! */
|
||||||
would_block = 0;
|
|
||||||
goto top;
|
goto top;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -33,6 +33,9 @@
|
||||||
#include "schmach.h"
|
#include "schmach.h"
|
||||||
#include "schrktio.h"
|
#include "schrktio.h"
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
|
#ifndef DONT_IGNORE_PIPE_SIGNAL
|
||||||
|
# include <signal.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#define mzAssert(x) /* if (!(x)) abort() */
|
#define mzAssert(x) /* if (!(x)) abort() */
|
||||||
|
|
||||||
|
@ -3723,7 +3726,7 @@ scheme_do_open_output_file(char *name, int offset, int argc, Scheme_Object *argv
|
||||||
} else {
|
} else {
|
||||||
#if 0
|
#if 0
|
||||||
/* Add a way to get this information from rktio_open()? */
|
/* Add a way to get this information from rktio_open()? */
|
||||||
if (???)
|
if (....)
|
||||||
scheme_raise_exn(MZEXN_FAIL_FILESYSTEM,
|
scheme_raise_exn(MZEXN_FAIL_FILESYSTEM,
|
||||||
"%s: error deleting file\n"
|
"%s: error deleting file\n"
|
||||||
" path: %q\n"
|
" path: %q\n"
|
||||||
|
@ -6037,6 +6040,10 @@ static Scheme_Object *subprocess(int c, Scheme_Object *args[])
|
||||||
|
|
||||||
block_timer_signals(0);
|
block_timer_signals(0);
|
||||||
|
|
||||||
|
if (need_forget_in) rktio_forget(scheme_rktio, stdin_fd);
|
||||||
|
if (need_forget_out) rktio_forget(scheme_rktio, stdout_fd);
|
||||||
|
if (need_forget_err) rktio_forget(scheme_rktio, stderr_fd);
|
||||||
|
|
||||||
if (envvars)
|
if (envvars)
|
||||||
rktio_envvars_free(scheme_rktio, envvars);
|
rktio_envvars_free(scheme_rktio, envvars);
|
||||||
|
|
||||||
|
|
|
@ -1024,7 +1024,8 @@ intptr_t rktio_write(rktio_t *rktio, rktio_fd_t *rfd, const char *buffer, intptr
|
||||||
if (len == -1) {
|
if (len == -1) {
|
||||||
errsaved = errno;
|
errsaved = errno;
|
||||||
get_posix_error();
|
get_posix_error();
|
||||||
}
|
} else
|
||||||
|
errsaved = 0;
|
||||||
|
|
||||||
if (!(flags & RKTIO_NONBLOCKING))
|
if (!(flags & RKTIO_NONBLOCKING))
|
||||||
fcntl(rfd->fd, F_SETFL, flags);
|
fcntl(rfd->fd, F_SETFL, flags);
|
||||||
|
|
|
@ -8,6 +8,7 @@
|
||||||
#endif
|
#endif
|
||||||
#if defined(HAVE_INOTIFY_SYSCALL)
|
#if defined(HAVE_INOTIFY_SYSCALL)
|
||||||
# include <poll.h>
|
# include <poll.h>
|
||||||
|
# include <unistd.h>
|
||||||
# include <sys/inotify.h>
|
# include <sys/inotify.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -24,7 +25,7 @@
|
||||||
static void do_inotify_init(rktio_t *rktio);
|
static void do_inotify_init(rktio_t *rktio);
|
||||||
static int do_inotify_ready(rktio_t *rktio);
|
static int do_inotify_ready(rktio_t *rktio);
|
||||||
static int do_inotify_errid(rktio_t *rktio);
|
static int do_inotify_errid(rktio_t *rktio);
|
||||||
static int do_inotify_add(rktio_t *rktio, char *filename);
|
static int do_inotify_add(rktio_t *rktio, const char *filename);
|
||||||
static void do_inotify_remove(rktio_t *rktio, int p2);
|
static void do_inotify_remove(rktio_t *rktio, int p2);
|
||||||
static int do_inotify_poll(rktio_t *rktio, int p2);
|
static int do_inotify_poll(rktio_t *rktio, int p2);
|
||||||
static void do_inotify_stop(rktio_t *rktio);
|
static void do_inotify_stop(rktio_t *rktio);
|
||||||
|
@ -421,7 +422,7 @@ static int do_inotify_errid(rktio_t *rktio)
|
||||||
|
|
||||||
/* Other functions are called only if do_inotify_ready() returns 1. */
|
/* Other functions are called only if do_inotify_ready() returns 1. */
|
||||||
|
|
||||||
static int do_inotify_add(rktio_t *rktio, char *filename)
|
static int do_inotify_add(rktio_t *rktio, const char *filename)
|
||||||
{
|
{
|
||||||
rin_inotify_state_t *s = rktio->inotify_server;
|
rin_inotify_state_t *s = rktio->inotify_server;
|
||||||
int wd;
|
int wd;
|
||||||
|
|
|
@ -13,6 +13,7 @@
|
||||||
# include <sys/time.h>
|
# include <sys/time.h>
|
||||||
#endif
|
#endif
|
||||||
#ifdef HAVE_POLL_SYSCALL
|
#ifdef HAVE_POLL_SYSCALL
|
||||||
|
# include <unistd.h>
|
||||||
# include <poll.h>
|
# include <poll.h>
|
||||||
#endif
|
#endif
|
||||||
#ifdef HAVE_EPOLL_SYSCALL
|
#ifdef HAVE_EPOLL_SYSCALL
|
||||||
|
|
|
@ -666,7 +666,7 @@ void rktio_reap_processes(rktio_t *rktio)
|
||||||
{
|
{
|
||||||
if (rktio->need_to_check_children) {
|
if (rktio->need_to_check_children) {
|
||||||
rktio->need_to_check_children = 0;
|
rktio->need_to_check_children = 0;
|
||||||
check_child_done(0);
|
check_child_done(rktio, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -449,7 +449,7 @@ rktio_date_t *rktio_seconds_to_date(rktio_t *rktio, rktio_timestamp_t seconds, i
|
||||||
}
|
}
|
||||||
# endif
|
# endif
|
||||||
# ifdef USE_TIMEZONE_VAR_W_DLS
|
# ifdef USE_TIMEZONE_VAR_W_DLS
|
||||||
tzoffset = -(MSCBOR_IZE(timezone) - (dst ? 3600 : 0));
|
tzoffset = -(MSC_IZE(timezone) - (dst ? 3600 : 0));
|
||||||
# endif
|
# endif
|
||||||
# ifdef USE_TIMEZONE_AND_ALTZONE_VAR
|
# ifdef USE_TIMEZONE_AND_ALTZONE_VAR
|
||||||
if (dst)
|
if (dst)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user