1
1
Граф коммитов

58 Коммитов

Автор SHA1 Сообщение Дата
Brian Barrett
a48f07b1d9 If we don't have event ops, we don't have a current_base, so don't dereference
the pointer (fixes a segfault Josh was seeing).

This commit was SVN r15796.
2007-08-07 17:09:54 +00:00
Brian Barrett
de2c4deeda Fix deadlock in thread case exposed by ORTE message model -- if we are
in a callback from the event library and post an RML receive, we'll
deadlock because the event library wouldn't be entered until the
event library was not already entered.  Now just protect data structures
(which we were basically already doing) instead of code, like good
threading people ;).

This commit was SVN r15585.
2007-07-24 19:10:19 +00:00
Brian Barrett
1d02b9e7b5 Fix a bunch of issues exposed by Ken Cain in getting Open MPI to work with
VxWorks.  Still some issues remaining, I'm sure.

Refs trac:1010

This commit was SVN r15320.

The following Trac tickets were found above:
  Ticket 1010 --> https://svn.open-mpi.org/trac/ompi/ticket/1010
2007-07-10 03:46:57 +00:00
Shiqing Fan
90b99e5344 Make select work for MS Windows.
This commit was SVN r14845.
2007-06-04 10:53:04 +00:00
George Bosilca
5711583bdf Force only one thread to come out from the
socket engine.

This commit was SVN r13298.
2007-01-25 07:36:42 +00:00
George Bosilca
950b07d860 Work around the Windows sockets model.
This commit was SVN r13294.
2007-01-25 00:19:02 +00:00
Rainer Keller
a5fe77e164 - get rid of unnecessary
#if OMPI_ENABLE_PROGRESS_THREADS

This commit was SVN r13114.
2007-01-14 12:28:36 +00:00
George Bosilca
31959f7f56 Make some functions static and correct some warnings.
This commit was SVN r13048.
2007-01-08 22:05:42 +00:00
Brian Barrett
b4480cf182 * Need to unlock on error conditions in opal_event_base_loop()
* Fix if structure if we don't use signals

Rainer Keller submitted original patch, slightly cleaned up by me.

This commit was SVN r11758.
2006-09-22 16:08:58 +00:00
Brian Barrett
4c3f135a92 * don't need to extern these here -- already done earlier in header file.
Fixes warnings Jeff was complaining about

This commit was SVN r11389.
2006-08-24 13:48:17 +00:00
George Bosilca
10fe79499b Use the correct typedef.
This commit was SVN r11387.
2006-08-24 05:08:40 +00:00
George Bosilca
a9be163fa7 Backup most of the changes to the event library. At this point the only
remaining changes are in event.c and event.h, plus everything in the
WIN32-Code directory. I still have to find a way to make it working on
Windows without these changes, but I have good hopes. However, the
the code in WIN32-Code will have to stay there as it's more stable
than the one provided by the libevent project.

This commit was SVN r11386.
2006-08-24 04:56:36 +00:00
Brian Barrett
a9c2b38877 * clean up George's threading changes -- we can't check for PROGRESS_THREADS,
as we can have multiple threads in the event library if there are multiple
  MPI threads.  Well, we could, once I fix the need for the lock in
  opal_progress(), which should happen shortly.  Anyway, we need to use the
  same locking scheme throughout the code, and the device support was
  already using the OPAL_THREAD__{lock,unlock} macros, which only go
  active when we think there are multiple threads we care about.

  Also, stop duplicating the OPAL_THREAD_SCOPED_LOCK macro's functionality
  and use it in a bunch of places in the code.

This commit was SVN r11383.
2006-08-23 22:19:31 +00:00
George Bosilca
9d5ba9daee Rollback my changes for the Windows port on these 3 files. Remove some of the
functionality of libevent for Windows. Anyway, these functions are not 
currently used in the Open MPI project, so it's safe to remove them from the
Windows library. But, they should be never used otherwise changes are 
required.

This commit was SVN r11378.
2006-08-23 21:17:50 +00:00
Sven Stork
a7e1135151 - add stdarg.h for va_list
This commit was SVN r11354.
2006-08-23 08:02:26 +00:00
George Bosilca
7b10dd165b Don't use mutexes if there are no threads.
This commit was SVN r11352.
2006-08-23 06:14:58 +00:00
George Bosilca
858dba5f13 These files are not usefull anymore.
This commit was SVN r11343.
2006-08-23 01:26:58 +00:00
George Bosilca
a5d20ec565 Remove the latest set of warnings (catched by gcc 4). Now everything
should be clean.

This commit was SVN r11341.
2006-08-23 00:48:05 +00:00
George Bosilca
5e280cda19 Latest and greatest. Now OPAL is ready for the Windows prime-time.
The same treatement will happens on all sub-projects. The .h files
have to be C++ compatibles and all symbols with an external visibility
have to get the {PROJECT}_DECLSPEC in front of the prototype.

This commit was SVN r11340.
2006-08-23 00:29:35 +00:00
George Bosilca
b20cdbc651 Don't call opal_mutex_unlock if there is no progress thread. Now we are
few tens of microsecond faster.

This commit was SVN r11339.
2006-08-22 23:55:33 +00:00
George Bosilca
1afdaad4dc And the correct version (with the correct cast) ...
This commit was SVN r11330.
2006-08-22 20:15:11 +00:00
George Bosilca
558646b07f One big step forward. Mostly explicit casting for Windows plus the
Windows version for the libevent. The one they provide is more than
innapropriate for what we need (without talking about the fact that
the code is just plain wrong).

This commit was SVN r11329.
2006-08-22 20:07:42 +00:00
Brian Barrett
da0610cc50 * NFDBITS is declared in sys/select.h on AIX
* Need to explicitly cast memcpy with XL on AIX

This commit was SVN r11274.
2006-08-20 21:56:45 +00:00
George Bosilca
6afa4c6c64 Windows friendly version. We have to split the OMPI_DECLSPEC in at least 3
different macros, one for each project. Therefore, now we have OPAL_DECLSPEC,
ORTE_DECLSPEC and OMPI_DECLSPEC. Please use them based on the sub-project.

This commit was SVN r11270.
2006-08-20 15:54:04 +00:00
Brian Barrett
7d8d5d0c75 * silence compiler warning
This commit was SVN r11194.
2006-08-15 16:11:27 +00:00
Brian Barrett
c1040c97c6 silence some compiler warnings
This commit was SVN r11184.
2006-08-14 19:39:49 +00:00
Brian Barrett
3a7edebc71 * Use the internal (non-locking) functions when in code that will already
be holding the lock.  Fixes ticket #251.

This commit was SVN r11172.
2006-08-14 16:09:17 +00:00
Brian Barrett
dbce03c470 * don't make OPAL_EVLOOP_ONELOOP spin hard, which was causing some latency
issues Gleb saw

This commit was SVN r11169.
2006-08-14 15:02:03 +00:00
Brian Barrett
1bac566976 * update event library to libevent-1.1b
This commit was SVN r11168.
2006-08-14 14:52:39 +00:00
Brian Barrett
a84e557815 Add new loop mode OPAL_EVLOOP_ONELOOP that behaved like OPAL_EVLOOP_ONCE
did pre-libevent update.  The problem is that the behavior of 
OPAL_EVLOOP_ONCE was changed by the OMPI team, which them broke things
during the update, so it had to be reverted to the old meaning of
loop until one event occurs.  OPAL_EVLOOP_ONELOOP will go through the
event loop once (like EVLOOP_NONBLOCK) but will pause in the event
library for a bit (like EVLOOP_ONCE).

fixes trac:234

This commit was SVN r11081.

The following Trac tickets were found above:
  Ticket 234 --> https://svn.open-mpi.org/trac/ompi/ticket/234
2006-08-01 22:23:57 +00:00
Brian Barrett
1cc3acd6d8 * fix some warnings from the new event code
This commit was SVN r11060.
2006-07-31 17:03:30 +00:00
Brian Barrett
63f0a5f52d * Don reports that /dev/poll is borked with his version of Solaris. For
now, don't use it and go back to poll/select like everyone else.

This commit was SVN r11034.
2006-07-27 16:56:09 +00:00
Sven Stork
456c872f52 - one more fix for the dist target
This commit was SVN r11029.
2006-07-27 14:20:37 +00:00
Sven Stork
8c10ea1ceb - fix dist target
This commit was SVN r11026.
2006-07-27 13:25:22 +00:00
Brian Barrett
7ea33eac02 Merge in rest of event library update branch, updating the event library to
libevent-1.1a.

svn merge -r10917:11006 https://svn.open-mpi.org/svn/ompi/tmp/libevent-update

This commit was SVN r11022.

The following SVN revisions from the original message are invalid or
inconsistent and therefore were not cross-referenced:
  r10917
  r11006
2006-07-27 01:51:18 +00:00
Brian Barrett
7c2ca73a1b * merge in tmp/libevent-update branch, r10914 - 10917. Rest coming soon.
This commit was SVN r11021.

The following SVN revisions from the original message are invalid or
inconsistent and therefore were not cross-referenced:
  r10914
2006-07-27 01:48:09 +00:00
Josh Hursey
13f1f4d86e fix a typo when checking the return code
This commit was SVN r10686.
2006-07-06 20:49:09 +00:00
Brian Barrett
566a050c23 Next step in the project split, mainly source code re-arranging
- move files out of toplevel include/ and etc/, moving it into the
    sub-projects
  - rather than including config headers with <project>/include, 
    have them as <project>
  - require all headers to be included with a project prefix, with
    the exception of the config headers ({opal,orte,ompi}_config.h
    mpi.h, and mpif.h)

This commit was SVN r8985.
2006-02-12 01:33:29 +00:00
Brian Barrett
03f6a8529c * Fix situation where we were unlocking a mutex we didn't own in an error
cleanup code in the signal part of the event library
* Only attempt to forward standard input if we have a controlling terminal
  (isatty() returns 1) and we are the foreground process OR we do not have
  a controlling terminal (isatty() returns 0).  If we have a controlling
  terminal, check at each SIGCONT if we should change our forwarding,
  since our foreground / background status may have changed.

  Unfortunately, there isn't a great way in the iof framework to know if
  we are capturing a starter's stdin.  Use the logic that if it's a source
  AND tagged as standard input, it's a starter's stdin.  This seems to
  work for all the common usages.

Both these need to go to the v1.0 branch.

This commit was SVN r8894.
2006-02-04 23:26:58 +00:00
Jeff Squyres
42ec26e640 Update the copyright notices for IU and UTK.
This commit was SVN r7999.
2005-11-05 19:57:48 +00:00
Tim Woodall
c484185f19 loop over poll event entries if the total number is larger than supported
This commit was SVN r7898.
2005-10-27 17:12:42 +00:00
Brian Barrett
11932e89d5 Fix nasty bug Josh was seeing where cntl-c wasn't working when orterun hangs up
in finalize after the first cntl-c is sent.

If the signal delete function was called while the signal set was blocked (which
is really most of the time in OMPI), the signal handler would be set to default
and the event library sigset modified, but the signal would never be unblocked.
Now we unblock the signal after reseting the handler...

This commit was SVN r7623.
2005-10-04 19:01:13 +00:00
George Bosilca
9da5fc2d65 It's already defined in the .h file.
This commit was SVN r7419.
2005-09-18 12:32:33 +00:00
Brian Barrett
ed56e743b7 * update configure.ac to use the modern version of AC_INIT and
AM_INIT_AUTOMAKE, instead of the deprecated version.
* Work around dumbness in modern AC_INIT that requires the version
  number to be set at autoconf time (instead of at configure time, as
  it was before).  Set the version number, minus the subversion r number,
  at autoconf time.  Override the internal variables to include the r
  number (if needed) at configure time.  Basically, the right thing
  should always happen.  The only place it might not is the version
  reported as part of configure --help will not have an r number.
* Since AM_INIT_AUTOMAKE taks a list of options, no need to specify
  them in all the Makefile.am files.
* Addes support for subdir-objects, meaning that object files are put
  in the directory containing source files, even if the Makefile.am is
  in another directory.  This should start making it feasible to
  reduce the number of Makefile.am files we have in the tree, which
  will greatly reduce the time to run autogen and configure.

This commit was SVN r7211.
2005-09-07 05:54:53 +00:00
Tim Woodall
dc0f3eef63 more corrections
This commit was SVN r7100.
2005-08-30 21:26:24 +00:00
Tim Woodall
f742e4901f we always acquire/release this lock - support threaded users
of the library

This commit was SVN r7099.
2005-08-30 21:17:33 +00:00
Jeff Squyres
c465eb8567 Rename opal/threads/thread.h -> opal/threads/threads.h to avoid a
naming conflict with Solaris' <thread.h>

This commit was SVN r6879.
2005-08-15 11:02:01 +00:00
Jeff Squyres
cf2c8b45a8 - Use proper prefixes for all #include statements (opal/, orte/, and
ompi/).
- There's still a handful of places that have orte/ #include files;
  still need to clean those up
- A lot of places still use ompi/include/constants.h -- those need to
  be converted over to use OPAL_ return codes and then switch to the
  opal constants.h.  This commit is the first few steps towards
  that...

This commit was SVN r6843.
2005-08-12 20:46:25 +00:00
Brian Barrett
ad383f5fcd * If the event library is going to be a noop (really, this only happens on
Red Storm), don't bother doing all the book keeping work to do calls
  into the event library

This commit was SVN r6829.
2005-08-12 16:21:17 +00:00
Brian Barrett
c39ba3e2da * re-enable poll_recalc so that it triggers the recalc of the signals
properly.  This fixes the random hangs that we were seeing this morning
  on Linux that were a result of fixing the thread deadlock yesterday.
  (worked great on my OS X box, which uses select() instead of poll()).

This commit was SVN r6730.
2005-08-04 14:05:46 +00:00