1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-28 05:29:48 +00:00

Ebview requires a rich stack size each thread, so extend to 256k.

I don't know whether or not enough size(to 256k), but some test ok.
This commit is contained in:
Norikatsu Shigemura 2003-02-23 17:38:47 +00:00
parent c76aebde58
commit 56ca04cfa1
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=76286
4 changed files with 68 additions and 2 deletions

View File

@ -7,6 +7,7 @@
PORTNAME= ebview
PORTVERSION= 0.2.0
PORTREVISION= 1
CATEGORIES= japanese
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
MASTER_SITE_SUBDIR= ${PORTNAME}

View File

@ -1,5 +1,5 @@
--- src/eb.c.orig Mon Nov 18 18:13:06 2002
+++ src/eb.c Sat Nov 30 09:04:05 2002
+++ src/eb.c Mon Feb 24 02:06:33 2003
@@ -24,6 +24,7 @@
#include <iconv.h>
#include <langinfo.h>
@ -8,3 +8,35 @@
#define MAX_HITS 50
@@ -1746,7 +1747,8 @@
DICT_GROUP *group;
char word[65535];
- strcpy(word, arg);
+ strncpy(word, arg, sizeof(word)-1);
+ word[sizeof(word)-1] = '\0';
group_item = g_list_first(group_list);
while(group_item != NULL){
@@ -1854,15 +1856,19 @@
{
gint rc;
gint method;
+ pthread_attr_t thread_attr;
thread_running = 1;
hit_count = 0;
- rc = pthread_create(&tid, NULL, ebook_search_thread, (void *)word);
+
+ pthread_attr_init(&thread_attr);
+ pthread_attr_setstacksize(&thread_attr, 256*1024);
+ rc = pthread_create(&tid, &thread_attr, ebook_search_thread, (void *)word);
if(rc != 0){
perror("pthread_create");
exit(1);
}
-
+ pthread_attr_destroy(&thread_attr);
method = ebook_search_method();
if(method == SEARCH_METHOD_FULL_TEXT){

View File

@ -7,6 +7,7 @@
PORTNAME= ebview
PORTVERSION= 0.2.0
PORTREVISION= 1
CATEGORIES= japanese
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
MASTER_SITE_SUBDIR= ${PORTNAME}

View File

@ -1,5 +1,5 @@
--- src/eb.c.orig Mon Nov 18 18:13:06 2002
+++ src/eb.c Sat Nov 30 09:04:05 2002
+++ src/eb.c Mon Feb 24 02:06:33 2003
@@ -24,6 +24,7 @@
#include <iconv.h>
#include <langinfo.h>
@ -8,3 +8,35 @@
#define MAX_HITS 50
@@ -1746,7 +1747,8 @@
DICT_GROUP *group;
char word[65535];
- strcpy(word, arg);
+ strncpy(word, arg, sizeof(word)-1);
+ word[sizeof(word)-1] = '\0';
group_item = g_list_first(group_list);
while(group_item != NULL){
@@ -1854,15 +1856,19 @@
{
gint rc;
gint method;
+ pthread_attr_t thread_attr;
thread_running = 1;
hit_count = 0;
- rc = pthread_create(&tid, NULL, ebook_search_thread, (void *)word);
+
+ pthread_attr_init(&thread_attr);
+ pthread_attr_setstacksize(&thread_attr, 256*1024);
+ rc = pthread_create(&tid, &thread_attr, ebook_search_thread, (void *)word);
if(rc != 0){
perror("pthread_create");
exit(1);
}
-
+ pthread_attr_destroy(&thread_attr);
method = ebook_search_method();
if(method == SEARCH_METHOD_FULL_TEXT){