Poll Patch

2001-03-21 Thread David Reid
Attached is a patch for the unix/beos poll implementations using select.
Basically they don't work as we'd expect them to.  I found the problem
during a coding session last night to get the beos MPM stopping/restarting.

The problem is that when we create and setup the pollset we add the fd's to
the fd_set and then pass the fd_set into select, where it gets altered, and
hence looses some of the information.  Imagine the following

fd_set has fd 0 and fd 1
select waits for data on fd 0 and fd 1
select finds data on fd 1
fd_set now has fd 1
select waits for data on fd 1
 !

:(  Not good.  This basically means that the select based impl. doesn't have
the same behaviour as the poll one and that's something we need to fix.

The patch basically adds a second set of fd_set's to the pollset and when
you add/remove fd's from the pollset, you affect the new fd_sets.  Just
before we actually go into select, we copy the new fd_set's into the fd_set
we pass to select, and store the results as before.  I've tested it on BeOS
and if no-one objects I'll commit on Thursday afternoon (GMT).  This will
impose a bit of a performance penalty, and there may be a better solution,
but this works and is simple enough that it illustrates the problem nicely.

david


poll_patch.dat
Description: Binary data


Re: disk i/o problems

2001-03-21 Thread Jeff Trawick
Ben Collins-Sussman <[EMAIL PROTECTED]> writes:

> Hi all -- I'm getting some weird disk slowdowns on FreeBSD 4.2.

Did you by chance look at an strace/truss of your APR app on Linux and
FreeBSD to see what APR is doing on your file?

Are you using buffered APR file support?

> I think we need to investigate APR and see where the "portability" has
> gone astray... what system interfaces changed in FreeBSD 4.2 that so
> dislike APR's file routines?  Anyone have ideas?

There really isn't much code to look at for file I/O.  But first I
think you might want to look at a syscall trace and see if we're doing
the right thing.

-- 
Jeff Trawick | [EMAIL PROTECTED] | PGP public key at web site:
   http://www.geocities.com/SiliconValley/Park/9289/
 Born in Roswell... married an alien...


Re: libtool in apr/shmem/unix/mm

2001-03-21 Thread jean-frederic clere
[EMAIL PROTECTED] wrote:
> 
> MM is a strange beast, because it is an import of an external project.  My
> own opinion is that we should completely remove MM, because it is more
> than APR needs, and it doesn't really work the way I want it to.  However,
> because I don't have time to replace it, we should make it fit cleanly
> into APR.
> 
> I would like to see MM's configure script use APR's version of libtool, et
> al.

For this, the patch looks easy  - Find it enclosed -
The additional thing is to remove the following file from cvs:
config.guess
config.sub  
ltconfig
ltmain.sh 

About removing files from CVS I think these 2 files should be removed from APR:
build/config.guess
build/config.sub
They are from libtool and are regenerated by buildconf.

 

> 
> Just my 0.02.
> 
> Ryan
> 
> On Wed, 21 Mar 2001, jean-frederic clere wrote:
> 
> > Hi,
> >
> > I have detected that the libtool files are in the cvs of 
> > apr/shmem/unix/mm...
> > config.guess, config.sub, libtool ...
> > That an old version of libtool (1.3.4).
> >
> > I think that apr/shmem/unix/mm should work like the rest of apr: buildconf
> > should create the needed tools.
> >
> > Cheers
> >
> > Jean-frederic
> >
> >
> 
> ___
> Ryan Bloom  [EMAIL PROTECTED]
> 406 29th St.
> San Francisco, CA 94131
> ---Index: shmem/unix/mm/aclocal.m4
===
RCS file: /home/cvs/apache/apr/shmem/unix/mm/aclocal.m4,v
retrieving revision 1.9
diff -u -r1.9 aclocal.m4
--- shmem/unix/mm/aclocal.m42000/12/31 12:26:41 1.9
+++ shmem/unix/mm/aclocal.m42001/03/21 14:50:55
@@ -57,8 +57,8 @@
 test ".$ac_cv_prog_gcc"= .yes && libtool_flags="$libtool_flags --with-gcc"
 test ".$ac_cv_prog_gnu_ld" = .yes && libtool_flags="$libtool_flags 
--with-gnu-ld"
 CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" LD="$LD" \
-${CONFIG_SHELL-/bin/sh} ltconfig --no-reexec \
-$libtool_flags --no-verify ltmain.sh $PLATFORM ||\
+${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \
+$libtool_flags --no-verify $ac_aux_dir/ltmain.sh $PLATFORM ||\
 AC_MSG_ERROR([libtool configuration failed])
 LIBTOOL="\$(TOP)/libtool"
 AC_SUBST(LIBTOOL)


APR_FLAG_FUNCS ?

2001-03-21 Thread Jim Jagielski
Would it make sense to migrate over to APR_FLAG_FUNCS?
-- 
===
   Jim Jagielski   [|]   [EMAIL PROTECTED]   [|]   http://www.jaguNET.com/
  "Hell is hot, that's never been disputed by anybody."


Re: libtool in apr/shmem/unix/mm

2001-03-21 Thread rbb

MM is a strange beast, because it is an import of an external project.  My
own opinion is that we should completely remove MM, because it is more
than APR needs, and it doesn't really work the way I want it to.  However,
because I don't have time to replace it, we should make it fit cleanly
into APR.

I would like to see MM's configure script use APR's version of libtool, et
al.

Just my 0.02.

Ryan

On Wed, 21 Mar 2001, jean-frederic clere wrote:

> Hi,
>
> I have detected that the libtool files are in the cvs of apr/shmem/unix/mm...
> config.guess, config.sub, libtool ...
> That an old version of libtool (1.3.4).
>
> I think that apr/shmem/unix/mm should work like the rest of apr: buildconf
> should create the needed tools.
>
> Cheers
>
> Jean-frederic
>
>


___
Ryan Bloom  [EMAIL PROTECTED]
406 29th St.
San Francisco, CA 94131
---



libtool in apr/shmem/unix/mm

2001-03-21 Thread jean-frederic clere
Hi,

I have detected that the libtool files are in the cvs of apr/shmem/unix/mm...
config.guess, config.sub, libtool ...
That an old version of libtool (1.3.4).

I think that apr/shmem/unix/mm should work like the rest of apr: buildconf
should create the needed tools.

Cheers

Jean-frederic