Re: semaphore usage "port based"?
От | Marc G. Fournier |
---|---|
Тема | Re: semaphore usage "port based"? |
Дата | |
Msg-id | 20060402222843.X947@ganymede.hub.org обсуждение исходный текст |
Ответ на | Re: semaphore usage "port based"? (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: semaphore usage "port based"?
(Tom Lane <tgl@sss.pgh.pa.us>)
|
Список | pgsql-hackers |
On Sun, 2 Apr 2006, Tom Lane wrote: > "Marc G. Fournier" <scrappy@postgresql.org> writes: >> On Sun, 2 Apr 2006, Tom Lane wrote: >>> BTW, even before doing that, you should look at "ipcs -s" output to try >>> to get a clue what's going on. The EINVAL failures may be because the >>> second postmaster to start deletes the semaphores created by the first >>> one. You could easily see this happening in before-and-after ipcs data >>> if so. > >> You are right ... > > OK, could we see strace (or whatever BSD calls it) output for the second > postmaster? I'd like to see exactly what results it's getting for the > kernel calls it makes during IpcSemaphoreCreate. 'k, dont' know what strace is ... we have ktrace and truss ... truss is what I usually use, and is: DESCRIPTION The truss utility traces the system calls called by the specified process or program. Output is to thespecified output file, or standard error by default. It does this by stopping and restarting the process being moni- tored via procfs(5). And shows output like: # truss ls ioctl(1,TIOCGETA,0x7fbff514) = 0 (0x0) ioctl(1,TIOCGWINSZ,0x7fbff588) = 0 (0x0) getuid() = 0 (0x0) readlink("/etc/malloc.conf",0x7fbff470,63) ERR#2 'No such file or directory' mmap(0x0,4096,0x3,0x1002,-1,0x0) = 671666176 (0x2808d000) break(0x809b000) = 0 (0x0) break(0x809c000) = 0 (0x0) break(0x809d000) = 0 (0x0) break(0x809e000) = 0 (0x0) stat(".",0x7fbff470) = 0 (0x0) open(".",0x0,00) = 3 (0x3) fchdir(0x3) = 0 (0x0) open(".",0x0,00) = 4 (0x4) stat(".",0x7fbff430) = 0 (0x0) open(".",0x4,00) = 5 (0x5) fstat(5,0x7fbff430) = 0 (0x0) fcntl(0x5,0x2,0x1) = 0 (0x0) __sysctl(0x7fbff2e8,0x2,0x8098760,0x7fbff2e4,0x0,0x0) = 0 (0x0) fstatfs(0x5,0x7fbff330) = 0 (0x0) break(0x809f000) = 0 (0x0) getdirentries(0x5,0x809e000,0x1000,0x809a0b4) = 512 (0x200) getdirentries(0x5,0x809e000,0x1000,0x809a0b4) = 0 (0x0) lseek(5,0x0,0) = 0 (0x0) close(5) = 0 (0x0) fchdir(0x4) = 0 (0x0) close(4) = 0 (0x0) fstat(1,0x7fbff270) = 0 (0x0) break(0x80a0000) = 0 (0x0) ioctl(1,TIOCGETA,0x7fbff2a4) = 0 (0x0) .cshrc .cvspass .history .login .psql_history .ssh write(1,0x809f000,53) = 53 (0x35) .cshrc~ .emacs.d .klogin .profile .rnd ktrace.out write(1,0x809f000,53) = 53 (0x35) exit(0x0) process exit, rval = 0 ktrace is: DESCRIPTION The ktrace utility enables kernel trace logging for the specified pro- cesses. Kernel trace data islogged to the file ktrace.out. The kernel operations that are traced include system calls, namei translations, sig- nal processing, and I/O. And shows output like: 86523 ls RET __sysctl 0 86523 ls CALL fstatfs(0x5,0x7fbff330) 86523 ls RET fstatfs 0 86523 ls CALL break(0x809f000) 86523 ls RET break 0 86523 ls CALL getdirentries(0x5,0x809e000,0x1000,0x809a0b4)86523 ls RET getdirentries 512/0x200 86523 ls CALL getdirentries(0x5,0x809e000,0x1000,0x809a0b4)86523 ls RET getdirentries 0 86523 ls CALL lseek(0x5,0,0,0,0) ---- Marc G. Fournier Hub.Org Networking Services (http://www.hub.org) Email: scrappy@hub.org Yahoo!: yscrappy ICQ: 7615664
В списке pgsql-hackers по дате отправления: