Message99941
| Author |
Alexander.Belopolsky |
| Recipients |
Alexander.Belopolsky, l0nwlf, loewis, orsenthil, r.david.murray, ronaldoussoren |
| Date |
2010年02月23日.17:47:48 |
| SpamBayes Score |
8.1392485e-05 |
| Marked as misclassified |
No |
| Message-id |
<1266947271.01.0.793227674479.issue7900@psf.upfronthosting.co.za> |
| In-reply-to |
| Content |
On Tue, Feb 23, 2010 at 12:16 PM, Ronald Oussoren <report@bugs.python.org> wrote:
..
> How did you detect that the modern getgroups implementation doesn't
> query the kernel? That would be very odd.
I wish I could say that I mastered dtrace under OSX, but I am not there yet. :-) There are two facts that convinced me that this is the case
1. Since setgroups is the same regardless of _DARWIN_C_SOURCE but getgroups returns different values after setgroups in programs compiled with an without _DARWIN_C_SOURCE, the problem must be in getgroups.
2. Setting breakpoint at getpwuid in gdb I see that it is not called when _DARWIN_C_SOURCE is not set, but when it is
(gdb) where
#0 0x00007fff86d2c487 in getpwuid ()
#1 0x00007fff86da229b in getgroups$DARWIN_EXTSN ()
#2 0x0000000100000ddd in printgroups ()
#3 0x0000000100000e6e in main () |
|