Re: nntpcache commercial environment, questions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> dear developers,
> 
> we are currently evaluating your software "nntpcache", and would like
> to know answers to the following questions:
> 
>   o  does the commercial version differ from the freeware version ?
>   o  does the commercial license include bug support from your side ?

Currently the only difference between the two is that with the commercial
version you get support, and you don't get sued ;)

> sincerely, Herbert Rosmanith
> 	herp@wildsau.idv.uni-linz.ac.at
> 
> addendum: "strace -f ./nntpcached"
> 
> [pid  3598] write(4, "article 1000010\r\n", 17) = 17
> [pid  3598] select(5, [4], NULL, NULL, {300, 0}) = 1 (in [4], left {299, 920000})
> [pid  3598] read(4, "220 1000010 <31C89BF9.1D96@c210."..., 2047) = 512
> [pid  3598] brk(0x8031000)              = 0x8031000
> [pid  3598] select(5, [4], NULL, NULL, {300, 0}) = 1 (in [4], left {299, 970000})
> [pid  3598] read(4, "g: 8bit\r\nX-Mailer: Mozilla 2.0"..., 2047) = 512
> [pid  3598] select(5, [4], NULL, NULL, {300, 0}) = 1 (in [4], left {299, 990000})
> [pid  3598] read(4, "enen man(n) \r\nnicht nur zur St"..., 2047) = 88
> [pid  3598] write(1, "220 1000010 <31C89BF9.1D96@c210."..., 1024) = 1024
> [pid  3598] open("newmedia/1000010", O_WRONLY|O_CREAT|O_EXCL, 0664) = 6
> [pid  3598] fcntl(6, F_SETLKW, {type=F_EXLCK, whence=SEEK_SET, start=0, len=0}) = 0
> [pid  3598] write(6, "Path: gortaur.idv-edu.uni-linz.a"..., 1047) = 1047
> [pid  3598] fcntl(6, F_SETLKW, {type=F_UNLCK, whence=SEEK_SET, start=0, len=0}) = 0
> [pid  3598] close(6)                    = 0
> [pid  3598] write(11, "\00331C89BF9.1D96@c210.edvz.uni-"..., 57) = 57
> [pid  3596] <... select resumed> )      = 1 (in [10])
> [pid  3598] read(11,  <unfinished ...>
> [pid  3596] wait4(-1, 
>              ^^^^^^^
> 
> the father-process 3596 waits infinitetly for the child process 3598 to
> complete its read operation.

This is the wait you describe (in nntpcache.c)

	static void check_child ()
	{
	#ifdef HAVE_WAIT3
		int pid = wait3 (NULL, WNOHANG, NULL);
	#else
	#ifdef HAVE_WAITPID
		int pid = waitpid ((pid_t) - 1, NULL, WNOHANG);
	#else
	#error no wait3 or waitpid for this system
	#endif
	#endif

WNOHANG mean's don't pause if no child has died. From that, I would say,
either your strace() has a problem or your kernel has a problem. Since
you are running linux, I strongly advise you upgrade to the 2.0 kernel.
nntpcache will not support the 1.2.8 kernel as of next release, due to
it's inability to mmap() (and a whole host of other things) correctly.

Hope this helps,
Julian.

-- 
"Of all tyrannies a tyranny sincerely  exercised for the good of its victims  
 may be the most  oppressive.  It may be better to live under  robber barons  
 than  under  omnipotent  moral busybodies,  The robber baron's  cruelty may  
 sometimes sleep,  his cupidity may at some point be satiated; but those who  
 torment us for own good  will torment us  without end,  for they do so with 
 the approval of their own conscience."    -   C.S. Lewis, _God in the Dock_ 
+---------------------+--------------------+----------------------------------+
|Julian Assange RSO   | PO Box 2031 BARKER | Secret Analytic Guy Union        |
|proff@suburbia.net   | VIC 3122 AUSTRALIA | finger for PGP key hash ID =     |
|proff@gnu.ai.mit.edu | FAX +61-3-98199066 | 0619737CCC143F6DEA73E27378933690 |
+---------------------+--------------------+----------------------------------+


[Index of Archives]     [Yosemite]     [Yosemite Campsites]     [Bugtraq]     [Linux]     [Trn]

Powered by Linux