All of lore.kernel.org
 help / color / mirror / Atom feed
* [LTP] [PATCH] pthread_cond_brodcast/1-2.c hung when mem left is not enough
@ 2012-08-02  8:47 DAN LI
  2012-08-06  9:25 ` Wanlong Gao
  0 siblings, 1 reply; 5+ messages in thread
From: DAN LI @ 2012-08-02  8:47 UTC (permalink / raw)
  To: LTP list


[-- Attachment #1.1: Type: text/plain, Size: 3073 bytes --]

pthread_cond_brodcast/1-2.c try to create as many childrens(thread or process)
as possible,however,if current free memoryis exhausted before all childrens are
started,the case will timeout and hung since it's stated with program "t0".
  
The patch adjust count of childrens according tojudgement of size of current free
memory.

Signed-off-by: DAN LI <li.dan@cn.fujitsu.com>
---
  .../interfaces/pthread_cond_broadcast/1-2.c        | 39 +++++++++++++++++++---
  1 file changed, 35 insertions(+), 4 deletions(-)

diff --git a/testcases/open_posix_testsuite/conformance/interfaces/pthread_cond_broadcast/1-2.c b/testcases/open_posix_testsuite/conformance/interfaces/pthread_cond_broadcast/1-2.c
index f6ad9df..14bda10 100644
--- a/testcases/open_posix_testsuite/conformance/interfaces/pthread_cond_broadcast/1-2.c
+++ b/testcases/open_posix_testsuite/conformance/interfaces/pthread_cond_broadcast/1-2.c
@@ -48,6 +48,7 @@
  #include <sys/mman.h>
  #include <sys/wait.h>
  #include <semaphore.h>
+#include <sys/sysinfo.h>
  
  #include "../testfrmw/testfrmw.h"
  #include "../testfrmw/testfrmw.c"
@@ -82,8 +83,8 @@
  #endif
  
  /* Do not create more than this amount of children: */
-#define MAX_PROCESS_CHILDREN  (200)
-#define MAX_THREAD_CHILDREN   (1000)
+int max_process_children = 200;
+int max_thread_children = 1000;
  
  #define TIMEOUT  (180)
  
@@ -243,6 +244,34 @@ void *timer(void *arg)
  	return NULL; /* For compiler */
  }
  
+int decide_process_children_count(void)
+{
+	struct sysinfo sysinforma;
+	int ret;
+	int avail_count;
+	unsigned long memper;
+	unsigned long min_stack;
+
+	min_stack = sysconf(_SC_THREAD_STACK_MIN);
+
+	ret = sysinfo(&sysinforma);
+	if (ret != 0)
+		UNRESOLVED(ret, "Failed to get system infomation.");
+
+	memper = min_stack * max_thread_children;
+	if (memper > sysinforma.freeram)
+		UNTESTED("Free ram not enough for test.");
+
+	avail_count = sysinforma.freeram/memper;
+	if (avail_count < 10)
+		UNTESTED("Free ram not enough for test.");
+	
+	max_process_children = (avail_count<max_process_children ?
+					avail_count : max_process_children);
+
+	return 0;
+}
+
  int main(int argc, char *argv[])
  {
  	int ret;
@@ -268,6 +297,8 @@ int main(int argc, char *argv[])
  
  	output_init();
  
+	decide_process_children_count();
+
  	/* check the system abilities */
  	pshared = sysconf(_SC_THREAD_PROCESS_SHARED);
  	cs = sysconf(_SC_CLOCK_SELECTION);
@@ -476,7 +507,7 @@ int main(int argc, char *argv[])
  				} else {
  					ret = errno;
  				}
-			} while ((ret == 0) && (child_count < MAX_THREAD_CHILDREN));
+			} while ((ret == 0) && (child_count < max_thread_children));
  			#if VERBOSE > 2
  			output("[parent] Created %i children threads\n", child_count);
  			#endif
@@ -504,7 +535,7 @@ int main(int argc, char *argv[])
  				} else {
  					ret = errno;
  				}
-			} while ((ret == 0) && (child_count < MAX_PROCESS_CHILDREN));
+			} while ((ret == 0) && (child_count < max_process_children));
  			#if VERBOSE > 2
  			output("[parent] Created %i children processes\n", child_count);
  			#endif
-- 
1.7.11.rc0


[-- Attachment #1.2: Type: text/html, Size: 3991 bytes --]

[-- Attachment #2: Type: text/plain, Size: 395 bytes --]

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/

[-- Attachment #3: Type: text/plain, Size: 155 bytes --]

_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [LTP] [PATCH] pthread_cond_brodcast/1-2.c hung when mem left is not enough
  2012-08-02  8:47 [LTP] [PATCH] pthread_cond_brodcast/1-2.c hung when mem left is not enough DAN LI
@ 2012-08-06  9:25 ` Wanlong Gao
  2012-08-07  2:36   ` [LTP] [PATCH v2] " DAN LI
  0 siblings, 1 reply; 5+ messages in thread
From: Wanlong Gao @ 2012-08-06  9:25 UTC (permalink / raw)
  To: DAN LI; +Cc: LTP list

On 08/02/2012 04:47 PM, DAN LI wrote:
> pthread_cond_brodcast/1-2.c try to create as many childrens(thread or process) 
> as possible,however,if current free memory is exhausted before all childrens are
> started,the case will timeout and hung since it's stated with program "t0".
>  
> The patch adjust count of childrens according to judgement of size of current free
> memory.
> 
> Signed-off-by: DAN LI <li.dan@cn.fujitsu.com>
> ---
>  .../interfaces/pthread_cond_broadcast/1-2.c        | 39 +++++++++++++++++++---
>  1 file changed, 35 insertions(+), 4 deletions(-)
> 
> diff --git a/testcases/open_posix_testsuite/conformance/interfaces/pthread_cond_broadcast/1-2.c b/testcases/open_posix_testsuite/conformance/interfaces/pthread_cond_broadcast/1-2.c
> index f6ad9df..14bda10 100644
> --- a/testcases/open_posix_testsuite/conformance/interfaces/pthread_cond_broadcast/1-2.c
> +++ b/testcases/open_posix_testsuite/conformance/interfaces/pthread_cond_broadcast/1-2.c
> @@ -48,6 +48,7 @@
>  #include <sys/mman.h>
>  #include <sys/wait.h>
>  #include <semaphore.h>
> +#include <sys/sysinfo.h>
>  
>  #include "../testfrmw/testfrmw.h"
>  #include "../testfrmw/testfrmw.c"
> @@ -82,8 +83,8 @@
>  #endif
>  
>  /* Do not create more than this amount of children: */
> -#define MAX_PROCESS_CHILDREN  (200)
> -#define MAX_THREAD_CHILDREN   (1000)
> +int max_process_children = 200;
> +int max_thread_children = 1000;

make these static.

>  
>  #define TIMEOUT  (180)
>  
> @@ -243,6 +244,34 @@ void *timer(void *arg)
>  	return NULL; /* For compiler */
>  }
>  
> +int decide_process_children_count(void)

static 

> +{
> +	struct sysinfo sysinforma;
> +	int ret;
> +	int avail_count;
> +	unsigned long memper;
> +	unsigned long min_stack;
> +
> +	min_stack = sysconf(_SC_THREAD_STACK_MIN);
> +
> +	ret = sysinfo(&sysinforma);
> +	if (ret != 0)
> +		UNRESOLVED(ret, "Failed to get system infomation.");
> +
> +	memper = min_stack * max_thread_children;
> +	if (memper > sysinforma.freeram)
> +		UNTESTED("Free ram not enough for test.");
> +
> +	avail_count = sysinforma.freeram/memper;

need space around "/"

> +	if (avail_count < 10) 
> +		UNTESTED("Free ram not enough for test.");
> +	
> +	max_process_children = (avail_count<max_process_children ?

space around "<"

Please check your coding style before sending out the patch.

Thanks,
Wanlong Gao

> +					avail_count : max_process_children);
> +
> +	return 0;
> +}
> +
>  int main(int argc, char *argv[])
>  {
>  	int ret;
> @@ -268,6 +297,8 @@ int main(int argc, char *argv[])
>  
>  	output_init();
>  
> +	decide_process_children_count();
> +
>  	/* check the system abilities */
>  	pshared = sysconf(_SC_THREAD_PROCESS_SHARED);
>  	cs = sysconf(_SC_CLOCK_SELECTION);
> @@ -476,7 +507,7 @@ int main(int argc, char *argv[])
>  				} else {
>  					ret = errno;
>  				}
> -			} while ((ret == 0) && (child_count < MAX_THREAD_CHILDREN));
> +			} while ((ret == 0) && (child_count < max_thread_children));
>  			#if VERBOSE > 2
>  			output("[parent] Created %i children threads\n", child_count);
>  			#endif
> @@ -504,7 +535,7 @@ int main(int argc, char *argv[])
>  				} else {
>  					ret = errno;
>  				}
> -			} while ((ret == 0) && (child_count < MAX_PROCESS_CHILDREN));
> +			} while ((ret == 0) && (child_count < max_process_children));
>  			#if VERBOSE > 2
>  			output("[parent] Created %i children processes\n", child_count);
>  			#endif
> -- 
> 1.7.11.rc0
> 
> 
> 
> ------------------------------------------------------------------------------
> Live Security Virtual Conference
> Exclusive live event will cover all the ways today's security and 
> threat landscape has changed and how IT managers can respond. Discussions 
> will include endpoint security, mobile security and the latest in malware 
> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
> 
> 
> 
> _______________________________________________
> Ltp-list mailing list
> Ltp-list@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/ltp-list
> 


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [LTP] [PATCH v2] pthread_cond_brodcast/1-2.c hung when mem left is not enough
  2012-08-06  9:25 ` Wanlong Gao
@ 2012-08-07  2:36   ` DAN LI
  2012-08-07  3:02     ` Wanlong Gao
  0 siblings, 1 reply; 5+ messages in thread
From: DAN LI @ 2012-08-07  2:36 UTC (permalink / raw)
  To: gaowanlong; +Cc: LTP list


[-- Attachment #1.1: Type: text/plain, Size: 3147 bytes --]

pthread_cond_brodcast/1-2.c try to create as many childrens(thread or process)
as possible,however,if current free memoryis exhausted before all childrens are
started,the case will timeout and hung since it's stated with program "t0".
  
The patch adjust count of childrens according to judgement of size of current free
memory.

Signed-off-by: DAN LI <li.dan@cn.fujitsu.com>
---
  .../interfaces/pthread_cond_broadcast/1-2.c        |   39 ++++++++++++++++++--
  1 files changed, 35 insertions(+), 4 deletions(-)

diff --git a/testcases/open_posix_testsuite/conformance/interfaces/pthread_cond_broadcast/1-2.c b/testcases/open_posix_testsuite/conformance/interfaces/pthread_cond_broadcast/1-2.c
index f6ad9df..a31dc2b 100644
--- a/testcases/open_posix_testsuite/conformance/interfaces/pthread_cond_broadcast/1-2.c
+++ b/testcases/open_posix_testsuite/conformance/interfaces/pthread_cond_broadcast/1-2.c
@@ -48,6 +48,7 @@
  #include <sys/mman.h>
  #include <sys/wait.h>
  #include <semaphore.h>
+#include <sys/sysinfo.h>
  
  #include "../testfrmw/testfrmw.h"
  #include "../testfrmw/testfrmw.c"
@@ -82,8 +83,8 @@
  #endif
  
  /* Do not create more than this amount of children: */
-#define MAX_PROCESS_CHILDREN  (200)
-#define MAX_THREAD_CHILDREN   (1000)
+static int max_process_children  = 200;
+static int max_thread_children = 1000;
  
  #define TIMEOUT  (180)
  
@@ -242,6 +243,34 @@ void *timer(void *arg)
  	FAILED_KILLALL("Operation timed out. A signal was lost.");
  	return NULL; /* For compiler */
  }
+static int decide_process_children_count(void)
+{
+	struct sysinfo sysinforma;
+	int ret;
+	int avail_count;
+	unsigned long memper;
+	unsigned long min_stack;
+
+	min_stack = sysconf(_SC_THREAD_STACK_MIN);
+
+	ret = sysinfo(&sysinforma);
+	if (ret != 0)
+		UNRESOLVED(ret, "Failed to get system infomation.");
+
+	memper = min_stack * max_thread_children;
+	if (memper > sysinforma.freeram)
+		UNTESTED("Free ram not enough for test.");
+
+	avail_count = sysinforma.freeram / memper;
+
+	if (avail_count < 10)
+		UNTESTED("Free ram not enough for test.");
+
+	max_process_children = (avail_count < max_process_children ?
+					avail_count : max_process_children);
+
+	return 0;
+}
  
  int main(int argc, char *argv[])
  {
@@ -268,6 +297,8 @@ int main(int argc, char *argv[])
  
  	output_init();
  
+	decide_process_children_count();
+
  	/* check the system abilities */
  	pshared = sysconf(_SC_THREAD_PROCESS_SHARED);
  	cs = sysconf(_SC_CLOCK_SELECTION);
@@ -476,7 +507,7 @@ int main(int argc, char *argv[])
  				} else {
  					ret = errno;
  				}
-			} while ((ret == 0) && (child_count < MAX_THREAD_CHILDREN));
+			} while ((ret == 0) && (child_count < max_thread_children));
  			#if VERBOSE > 2
  			output("[parent] Created %i children threads\n", child_count);
  			#endif
@@ -504,7 +535,7 @@ int main(int argc, char *argv[])
  				} else {
  					ret = errno;
  				}
-			} while ((ret == 0) && (child_count < MAX_PROCESS_CHILDREN));
+			} while ((ret == 0) && (child_count < max_process_children));
  			#if VERBOSE > 2
  			output("[parent] Created %i children processes\n", child_count);
  			#endif
-- 
1.7.7.6


[-- Attachment #1.2: Type: text/html, Size: 3923 bytes --]

[-- Attachment #2: Type: text/plain, Size: 395 bytes --]

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/

[-- Attachment #3: Type: text/plain, Size: 155 bytes --]

_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [LTP] [PATCH v2] pthread_cond_brodcast/1-2.c hung when mem left is not enough
  2012-08-07  2:36   ` [LTP] [PATCH v2] " DAN LI
@ 2012-08-07  3:02     ` Wanlong Gao
  2012-08-07  5:45       ` [LTP] [PATCH v3] " DAN LI
  0 siblings, 1 reply; 5+ messages in thread
From: Wanlong Gao @ 2012-08-07  3:02 UTC (permalink / raw)
  To: DAN LI; +Cc: LTP list

On 08/07/2012 10:36 AM, DAN LI wrote:
> pthread_cond_brodcast/1-2.c try to create as many childrens(thread or process) 
> as possible,however,if current free memory is exhausted before all childrens are
> started,the case will timeout and hung since it's stated with program "t0".
>  
> The patch adjust count of childrens according to judgement of size of current free
> memory.
> 
> Signed-off-by: DAN LI <li.dan@cn.fujitsu.com>
> ---
>  .../interfaces/pthread_cond_broadcast/1-2.c        |   39 ++++++++++++++++++--
>  1 files changed, 35 insertions(+), 4 deletions(-)
> 
> diff --git a/testcases/open_posix_testsuite/conformance/interfaces/pthread_cond_broadcast/1-2.c b/testcases/open_posix_testsuite/conformance/interfaces/pthread_cond_broadcast/1-2.c
> index f6ad9df..a31dc2b 100644
> --- a/testcases/open_posix_testsuite/conformance/interfaces/pthread_cond_broadcast/1-2.c
> +++ b/testcases/open_posix_testsuite/conformance/interfaces/pthread_cond_broadcast/1-2.c
> @@ -48,6 +48,7 @@
>  #include <sys/mman.h>
>  #include <sys/wait.h>
>  #include <semaphore.h>
> +#include <sys/sysinfo.h>
>  
>  #include "../testfrmw/testfrmw.h"
>  #include "../testfrmw/testfrmw.c"
> @@ -82,8 +83,8 @@
>  #endif
>  
>  /* Do not create more than this amount of children: */
> -#define MAX_PROCESS_CHILDREN  (200)
> -#define MAX_THREAD_CHILDREN   (1000)
> +static int max_process_children  = 200;
> +static int max_thread_children = 1000;
>  
>  #define TIMEOUT  (180)
>  
> @@ -242,6 +243,34 @@ void *timer(void *arg)
>  	FAILED_KILLALL("Operation timed out. A signal was lost.");
>  	return NULL; /* For compiler */
>  }
> +static int decide_process_children_count(void)
> +{
> +	struct sysinfo sysinforma;
> +	int ret;
> +	int avail_count;
> +	unsigned long memper;
> +	unsigned long min_stack;
> +
> +	min_stack = sysconf(_SC_THREAD_STACK_MIN);
> +
> +	ret = sysinfo(&sysinforma);

This is a linux specific function, so you can define this function
like this

#ifdef __linux__
static void decide_xxx(void)
{
	xxx
	xxx
}
#else
static void decide_xxx(void)
{
	return;
}
#endif

Thanks,
Wanlong Gao


> +	if (ret != 0)
> +		UNRESOLVED(ret, "Failed to get system infomation.");
> +
> +	memper = min_stack * max_thread_children;
> +	if (memper > sysinforma.freeram)
> +		UNTESTED("Free ram not enough for test.");
> +
> +	avail_count = sysinforma.freeram / memper;
> +
> +	if (avail_count < 10)
> +		UNTESTED("Free ram not enough for test.");
> +
> +	max_process_children = (avail_count < max_process_children ?
> +					avail_count : max_process_children);
> +
> +	return 0;
> +}
>  
>  int main(int argc, char *argv[])
>  {
> @@ -268,6 +297,8 @@ int main(int argc, char *argv[])
>  
>  	output_init();
>  
> +	decide_process_children_count();
> +
>  	/* check the system abilities */
>  	pshared = sysconf(_SC_THREAD_PROCESS_SHARED);
>  	cs = sysconf(_SC_CLOCK_SELECTION);
> @@ -476,7 +507,7 @@ int main(int argc, char *argv[])
>  				} else {
>  					ret = errno;
>  				}
> -			} while ((ret == 0) && (child_count < MAX_THREAD_CHILDREN));
> +			} while ((ret == 0) && (child_count < max_thread_children));
>  			#if VERBOSE > 2
>  			output("[parent] Created %i children threads\n", child_count);
>  			#endif
> @@ -504,7 +535,7 @@ int main(int argc, char *argv[])
>  				} else {
>  					ret = errno;
>  				}
> -			} while ((ret == 0) && (child_count < MAX_PROCESS_CHILDREN));
> +			} while ((ret == 0) && (child_count < max_process_children));
>  			#if VERBOSE > 2
>  			output("[parent] Created %i children processes\n", child_count);
>  			#endif
> -- 
> 1.7.7.6
> 


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [LTP] [PATCH v3] pthread_cond_brodcast/1-2.c hung when mem left is not enough
  2012-08-07  3:02     ` Wanlong Gao
@ 2012-08-07  5:45       ` DAN LI
  0 siblings, 0 replies; 5+ messages in thread
From: DAN LI @ 2012-08-07  5:45 UTC (permalink / raw)
  To: gaowanlong; +Cc: LTP list

Signed-off-by: DAN LI <li.dan@cn.fujitsu.com>
---
  .../interfaces/pthread_cond_broadcast/1-2.c        |   47 ++++++++++++++++++--
  1 files changed, 43 insertions(+), 4 deletions(-)

diff --git a/testcases/open_posix_testsuite/conformance/interfaces/pthread_cond_broadcast/1-2.c b/testcases/open_posix_testsuite/conformance/interfaces/pthread_cond_broadcast/1-2.c
index f6ad9df..69243ea 100644
--- a/testcases/open_posix_testsuite/conformance/interfaces/pthread_cond_broadcast/1-2.c
+++ b/testcases/open_posix_testsuite/conformance/interfaces/pthread_cond_broadcast/1-2.c
@@ -48,6 +48,7 @@
  #include <sys/mman.h>
  #include <sys/wait.h>
  #include <semaphore.h>
+#include <sys/sysinfo.h>
  
  #include "../testfrmw/testfrmw.h"
  #include "../testfrmw/testfrmw.c"
@@ -82,8 +83,8 @@
  #endif
  
  /* Do not create more than this amount of children: */
-#define MAX_PROCESS_CHILDREN  (200)
-#define MAX_THREAD_CHILDREN   (1000)
+static int max_process_children  = 200;
+static int max_thread_children = 1000;
  
  #define TIMEOUT  (180)
  
@@ -243,6 +244,42 @@ void *timer(void *arg)
  	return NULL; /* For compiler */
  }
  
+#ifdef __linux__
+static void decide_process_children_count(void)
+{
+	struct sysinfo sysinforma;
+	int ret;
+	int avail_count;
+	unsigned long memper;
+	unsigned long min_stack;
+
+	min_stack = sysconf(_SC_THREAD_STACK_MIN);
+
+	ret = sysinfo(&sysinforma);
+	if (ret != 0)
+		UNRESOLVED(ret, "Failed to get system infomation.");
+
+	memper = min_stack * max_thread_children;
+	if (memper > sysinforma.freeram)
+		UNTESTED("Free ram not enough for test.");
+
+	avail_count = sysinforma.freeram / memper;
+
+	if (avail_count < 10)
+		UNTESTED("Free ram not enough for test.");
+
+	max_process_children = (avail_count < max_process_children ?
+					avail_count : max_process_children);
+
+	return;
+}
+#else
+static void decide_process_children_count(void)
+{
+	return;
+}
+#endif
+
  int main(int argc, char *argv[])
  {
  	int ret;
@@ -268,6 +305,8 @@ int main(int argc, char *argv[])
  
  	output_init();
  
+	decide_process_children_count();
+
  	/* check the system abilities */
  	pshared = sysconf(_SC_THREAD_PROCESS_SHARED);
  	cs = sysconf(_SC_CLOCK_SELECTION);
@@ -476,7 +515,7 @@ int main(int argc, char *argv[])
  				} else {
  					ret = errno;
  				}
-			} while ((ret == 0) && (child_count < MAX_THREAD_CHILDREN));
+			} while ((ret == 0) && (child_count < max_thread_children));
  			#if VERBOSE > 2
  			output("[parent] Created %i children threads\n", child_count);
  			#endif
@@ -504,7 +543,7 @@ int main(int argc, char *argv[])
  				} else {
  					ret = errno;
  				}
-			} while ((ret == 0) && (child_count < MAX_PROCESS_CHILDREN));
+			} while ((ret == 0) && (child_count < max_process_children));
  			#if VERBOSE > 2
  			output("[parent] Created %i children processes\n", child_count);
  			#endif
-- 
1.7.7.6



------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list

^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2012-08-07  5:57 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-08-02  8:47 [LTP] [PATCH] pthread_cond_brodcast/1-2.c hung when mem left is not enough DAN LI
2012-08-06  9:25 ` Wanlong Gao
2012-08-07  2:36   ` [LTP] [PATCH v2] " DAN LI
2012-08-07  3:02     ` Wanlong Gao
2012-08-07  5:45       ` [LTP] [PATCH v3] " DAN LI

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.