From abaff2134633c776d25a45abd153e358e7d78d71 Mon Sep 17 00:00:00 2001 From: Matthew Mondor Date: Thu, 15 Mar 2007 17:09:47 +0000 Subject: [PATCH] *** empty log message *** --- mmsoftware/mmlib/mmserver.c | 21 +++++++++++---------- mmsoftware/mmlib/mmserver.h | 11 +++-------- 2 files changed, 14 insertions(+), 18 deletions(-) diff --git a/mmsoftware/mmlib/mmserver.c b/mmsoftware/mmlib/mmserver.c index 659d020..a9e18f7 100644 --- a/mmsoftware/mmlib/mmserver.c +++ b/mmsoftware/mmlib/mmserver.c @@ -1,4 +1,4 @@ -/* $Id: mmserver.c,v 1.35 2007/03/13 20:28:22 mmondor Exp $ */ +/* $Id: mmserver.c,v 1.35.4.1 2007/03/15 17:09:47 mmondor Exp $ */ /* * Copyright (C) 2000-2004, Matthew Mondor @@ -86,7 +86,7 @@ MMCOPYRIGHT("@(#) Copyright (c) 2000-2004\n\ \tMatthew Mondor. All rights reserved.\n"); -MMRCSID("$Id: mmserver.c,v 1.35 2007/03/13 20:28:22 mmondor Exp $"); +MMRCSID("$Id: mmserver.c,v 1.35.4.1 2007/03/15 17:09:47 mmondor Exp $"); @@ -730,12 +730,13 @@ phandleclient(pthread_object_t *obj, void *args) /* This consists of a general purpose thread which can serve real * asynchroneous functions via another thread, suitable to use for functions * which can block the whole process when using non-preemptive threads like - * the Pth library provides. Pth message ports are used to communicate with - * this device in a way that processes waiting for results only block - * the requesting thread. The function internally uses unix datagrams to - * similarly communicate arguments and obtain back results from a free process - * in the asynchroneous processes pool. Another advantage of this technique is - * that on SMP systems the various processors can now be taken advantage of. + * the mm_pthread_util library provides. Efficient interthread message ports + * are used to communicate with this device in a way that processes waiting for + * results only block the requesting thread. The function internally uses unix + * datagrams to similarly communicate arguments and obtain back results from a + * free process in the asynchroneous processes pool. This system can be used + * for parallel processing with a non-preemptive threading library or for + * tasks which are best served by another process (i.e. stack issues, etc). * The caller should of course expect data rather than pointers to be used for * both arguments and return values since pointers are only valid for the * current process. @@ -744,12 +745,12 @@ phandleclient(pthread_object_t *obj, void *args) * required, as well as memory copy operations. Moreover, two new * filedescriptor are required in the main process for each asynchroneous * process in our pool. - * It should be used where necessary, like calculating MD5 hashes, resolving + * It can be used where necessary, like calculating MD5 hashes, resolving * hostnames and evaluating directory tree sizes recursively, etc. * * It would have been possible to use different datagram sizes to transfer * arguments and results to/from the other processes, but because of the way - * the Pth AmigaOS-style messages work, a decision was made so that unions are + * AmigaOS-style messages work, a decision was made so that unions are * used by async functions and the whole structure is transfered back and * forth. */ diff --git a/mmsoftware/mmlib/mmserver.h b/mmsoftware/mmlib/mmserver.h index d730e59..7d28254 100644 --- a/mmsoftware/mmlib/mmserver.h +++ b/mmsoftware/mmlib/mmserver.h @@ -1,4 +1,4 @@ -/* $Id: mmserver.h,v 1.11 2007/03/13 20:28:22 mmondor Exp $ */ +/* $Id: mmserver.h,v 1.11.4.1 2007/03/15 17:09:47 mmondor Exp $ */ /* * Copyright (C) 2000-2004, Matthew Mondor @@ -133,18 +133,13 @@ struct ifacendx { -/* These are for the special asynchroneous functions support for functions Pth - * cannot provide without blocking the whole process. They will be dispatched - * to a specialized process through the Pth message passing system. - */ - /* A message which is to pass arguments to the async thread for a function, * and to receive the function results. The user structure is usually * different for both sides. The msg and func_id fields will be transfered * back unchanged. Generally the user provides a fixed size structure using * a union to be transfered both ways (results and arguments parts). As the - * Pth library messages are moved around by simply moving pointers, like on - * AmigaOs, this is ideal. + * mm_pthread_util messages are moved around by simply moving pointers, like + * on AmigaOs, this is ideal. */ struct async_msg { pnode_t node; -- 2.9.0