1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-04-30 03:40:34 +02:00

locking on port buffering operations

* libguile/ports.c (scm_fill_input_unlocked, scm_fill_input)
  (scm_end_input, scm_end_input_unlocked, scm_flush)
  (scm_flush_unlocked): Add locking and _unlocked variants.

* libguile/filesys.c:
* libguile/fports.c:
* libguile/gdbint.c:
* libguile/r6rs-ports.c:
* libguile/read.c:
* libguile/rw.c: Adapt callers to use _unlocked variants.
This commit is contained in:
Andy Wingo 2011-11-08 00:29:46 +01:00
parent c932ce0b55
commit 4251ae2e28
10 changed files with 57 additions and 24 deletions

View file

@ -1,4 +1,4 @@
/* Copyright (C) 2001, 2006, 2009 Free Software Foundation, Inc.
/* Copyright (C) 2001, 2006, 2009, 2011 Free Software Foundation, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
@ -248,7 +248,7 @@ SCM_DEFINE (scm_write_string_partial, "write-string/partial", 1, 3, 0,
return scm_from_long (write_len);
}
if (pt->write_pos > pt->write_buf)
scm_flush (port);
scm_flush_unlocked (port);
fdes = SCM_FPORT_FDES (port);
}
{