FIXES 1413
buffers are signed, should be checked for negative in addition to smaller than
PIGGYSIZE; also, check out buffer size before calling pioctl handler.
FIXES 1448
everything shoudl be done as the parent volume id so the volume group stuff works right.
otherwise, we create things which get stored under one "tag", try to open the,
under another "tag" and they aren't there, because it doesn't hash the same.
Clean up newline conventions in src/WINNT/eventlog/lang/*/event.mc.
Existing files were in CVS with CRLF newlines, and so some Windows tools
would check them out with CRCRLF. Unfortunately, the mc-compiler can't
handle CRCRLF newlines. Fixing the files in CVS to have LF newlines
(like all proper text files) makes the problem go away -- they end up
with CRLF if checked out using tools that do newline conversion, and
LF-only if not, and the compiler accepts either.
Add cell aliases we find using AFSDB for cells that have been
statically configured via CellServDB. This preserves the AFSDB
implementation behavior from before the cell code rewrite.
avoid potentially looping forever in e.g. afs_FetchStatus because
we exit afs_Analyze too early to increment busyCount, and despite having
areq->busyCount non-zero we have servers still not_busy which are already down
that we'll never talk to again. that combined with no conn means we never
touch most of afs_Analyze, exiting early with shouldRetry set.
incrementing busyCount whenever we exit with shouldRetry set should
ensure we can never end up looping forever.
blocking these seems to prevent all threads from dying when the kernel
gives e.g. SIGSEGV to one of the processes. since softsig is to protect us
from what signals we handle might do in the handler, this should be fine
FIXES 1308
Thanks to Chaskiel Grundman for explaining what was happening:
- the connection is old and pre-existing, but has no host structure.
- 2 calls come in
- the first one enters h_GetHost_r, and h_Lookup_r returns null (but identP is
non-null, since rx keeps it around until it gc's the connection)
The first thread calls WhoAreYou, which succeeds, it then calls
InitCallBackState3 (after H_UNLOCK) note that the host has been inserted into
the hashtable
- the second thread enters h_GetHost_r, and calls rx_GetSpecific. it then
calls h_Lookup_r. h_Lookup_r will block (new host is locked), but eventually
returns the new host
- InitCallBackState3 returns, and the frees the old identP, replaces it, and
unlocks the host.
- the first thread returns from h_Lookup_r. boom.
the changes:
-call rx_GetSpecific after h_Lookup_r returns (and potentially slept)
-removes an if wrapping which always is true (since !interfValid is always
true)
-don't realloc identP if it exists
-don't free an old one by calling rx_SetSpecific either
FIXES 1215
fixes bad interaction with openmosix
comment from derrick: i'm still not sure what's going on here.
====================
This delta was composed from multiple commits as part of the CVS->Git migration.
The checkin message with each commit was inconsistent.
The following are the additional commit messages.
====================
FIXES 1215
fixes bad interaction with openmosix
somehow diff screwed up the first time and applied one hunk wrong.
comment from derrick: i'm still not sure what's going on here.