* dtable.h (dtable::first_fd_for_open): Change declaration to size_t.
(dtable::extend): Change parameter to size_t. (dtable::find_unused_handle): Ditto. * dtable.cc: Remove now-unused header. (dtable::extend): Remove pointless test. Change parameter to size_t. (dtable::find_unused_handle): Rework to avoid MAX calculation in extend() call. Change parameter to size_t.
This commit is contained in:
parent
483c843a6a
commit
499494d2cc
@ -1,3 +1,13 @@
|
||||
2013-11-30 Christopher Faylor <me.cygwin2013@cgf.cx>
|
||||
|
||||
* dtable.h (dtable::first_fd_for_open): Change declaration to size_t.
|
||||
(dtable::extend): Change parameter to size_t.
|
||||
(dtable::find_unused_handle): Ditto.
|
||||
* dtable.cc: Remove now-unused header.
|
||||
(dtable::extend): Remove pointless test. Change parameter to size_t.
|
||||
(dtable::find_unused_handle): Rework to avoid MAX calculation in
|
||||
extend() call. Change parameter to size_t.
|
||||
|
||||
2013-11-30 Christopher Faylor <me.cygwin2013@cgf.cx>
|
||||
|
||||
* dtable.cc (build_fh_pc): When creating an archetype, use native name
|
||||
|
@ -16,7 +16,6 @@ details. */
|
||||
#include <stdio.h>
|
||||
#include <unistd.h>
|
||||
#include <wchar.h>
|
||||
#include <sys/param.h>
|
||||
|
||||
#define USE_SYS_TYPES_FD_SET
|
||||
#include <winsock.h>
|
||||
@ -73,14 +72,11 @@ set_std_handle (int fd)
|
||||
}
|
||||
|
||||
int
|
||||
dtable::extend (int howmuch)
|
||||
dtable::extend (size_t howmuch)
|
||||
{
|
||||
int new_size = size + howmuch;
|
||||
fhandler_base **newfds;
|
||||
|
||||
if (howmuch <= 0)
|
||||
return 0;
|
||||
|
||||
if (new_size > OPEN_MAX_MAX)
|
||||
{
|
||||
set_errno (EMFILE);
|
||||
@ -225,8 +221,10 @@ dtable::delete_archetype (fhandler_base *fh)
|
||||
}
|
||||
|
||||
int
|
||||
dtable::find_unused_handle (int start)
|
||||
dtable::find_unused_handle (size_t start)
|
||||
{
|
||||
size_t extendby = (start > size) ? start - size : NOFILE_INCR;
|
||||
/* This do loop should only ever execute twice. */
|
||||
do
|
||||
{
|
||||
for (size_t i = start; i < size; i++)
|
||||
@ -234,7 +232,7 @@ dtable::find_unused_handle (int start)
|
||||
if (fds[i] == NULL)
|
||||
return i;
|
||||
}
|
||||
while (extend (MAX (NOFILE_INCR, start - size)));
|
||||
while (extend (extendby));
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
@ -32,7 +32,7 @@ class dtable
|
||||
unsigned narchetypes;
|
||||
unsigned farchetype;
|
||||
static const int initial_archetype_size = 8;
|
||||
int first_fd_for_open;
|
||||
size_t first_fd_for_open;
|
||||
int cnt_need_fixup_before;
|
||||
void lock () {lock_process::locker.acquire ();}
|
||||
void unlock () {lock_process::locker.release ();}
|
||||
@ -54,7 +54,7 @@ public:
|
||||
void vfork_parent_restore ();
|
||||
void vfork_child_fixup ();
|
||||
fhandler_base *dup_worker (fhandler_base *oldfh, int flags);
|
||||
int extend (int howmuch);
|
||||
int extend (size_t howmuch);
|
||||
void fixup_after_fork (HANDLE);
|
||||
void fixup_close (size_t, fhandler_base *);
|
||||
|
||||
@ -65,7 +65,7 @@ public:
|
||||
unlock ();
|
||||
return res;
|
||||
}
|
||||
int find_unused_handle (int start);
|
||||
int find_unused_handle (size_t start);
|
||||
int find_unused_handle () { return find_unused_handle (first_fd_for_open);}
|
||||
void __reg2 release (int fd);
|
||||
void init_std_file_from_handle (int fd, HANDLE handle);
|
||||
|
Loading…
Reference in New Issue
Block a user