From: Matthieu C. <ma...@us...> - 2005-06-27 09:45:22
|
Update of /cvsroot/nptltracetool/trace/nptl-trace In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2519 Modified Files: nptl-trace.c Log Message: more understandable way to compute size_buff Index: nptl-trace.c =================================================================== RCS file: /cvsroot/nptltracetool/trace/nptl-trace/nptl-trace.c,v retrieving revision 1.41 retrieving revision 1.42 diff -u -d -r1.41 -r1.42 --- nptl-trace.c 27 Jun 2005 08:19:48 -0000 1.41 +++ nptl-trace.c 27 Jun 2005 09:45:14 -0000 1.42 @@ -195,7 +195,7 @@ static char binary[BIN_FILE_LEN + 1]; int fd; long long size_buff; - long long size_buff1 = ((UINT_MAX-1)/2) + 1; + int size_log2 = 0; int trace_level = LEVEL_ALL; signed char c; int status; @@ -261,12 +261,14 @@ exit (1); } - /* UINT_MAX is a multiple of size_buff */ - while (size_buff1 > size_buff) { - TRACE_TRACE(TRACE_DBG_INIT, "Computing buffer size : size=%llu approx=%llu\n", size_buff, size_buff1); - size_buff1/=2; + if (size_buff < 4) + size_buff = 4; + /* XXX compute a better value in order to avoid that 16 -> 32, ... */ + while (size_buff!=0) { + ++size_log2; + size_buff>>=1; } - size_buff = size_buff1*2; + size_buff=1<<size_log2; #if 0 if ((cmd=fork())!=0) { |