* pwdgrp.h (pwdgrp::pglock): Make static.
* grp.cc (pwdgrp::pwdgrp): Eliminate use of initforce.
2005-04-05 Christopher Faylor <cgf@timesys.com>
+ * sync.h (muto::initforce): Delete flawed implementation.
+ * pwdgrp.h (pwdgrp::pglock): Make static.
+ * grp.cc (pwdgrp::pwdgrp): Eliminate use of initforce.
+
+2005-04-05 Christopher Faylor <cgf@timesys.com>
+
* sync.h (muto::initforce): Force initialization even when name !=
NULL.
* grp.cc (pwdgrp::pwdgrp): Use initforce since the enclosing structure
return;
}
+muto NO_COPY pwdgrp::pglock;
+
pwdgrp::pwdgrp (passwd *&pbuf) :
pwdgrp_buf_elem_size (sizeof (*pbuf)), passwd_buf (&pbuf)
{
read = &pwdgrp::read_passwd;
parse = &pwdgrp::parse_passwd;
- pglock.initforce ("pwd_lock");
+ pglock.init ("pglock");
}
pwdgrp::pwdgrp (__group32 *&gbuf) :
{
read = &pwdgrp::read_group;
parse = &pwdgrp::parse_group;
- pglock.initforce ("grp_lock");
+ pglock.init ("pglock");
}
struct __group32 *
char *buf, *lptr;
int max_lines;
bool initialized;
- muto pglock;
+ static muto pglock;
bool parse_passwd ();
bool parse_group ();
// constructor operation at DLL startup
Static waitq waitq_head = {0, 0, 0, 0, 0, 0, 0};// Start of queue for wait'ing threads
-muto NO_COPY sync_proc_subproc; // Control access to subproc stuff
+static muto NO_COPY sync_proc_subproc; // Control access to subproc stuff
DWORD NO_COPY sigtid = 0; // ID of the signal thread
void *tls; /* Tls of lock owner. */
// class muto *next;
- muto *initforce (const char *s) {name = NULL; return init (s);}
/* The real constructor. */
muto *init (const char *) __attribute__ ((regparm (2)));