OSDN Git Service
(root)
/
handbrake-jp
/
handbrake-jp-git.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
LinGui: Changes required by latest x264
[handbrake-jp/handbrake-jp-git.git]
/
libhb
/
ports.c
diff --git
a/libhb/ports.c
b/libhb/ports.c
index
18304d1
..
10f84dc
100644
(file)
--- a/
libhb/ports.c
+++ b/
libhb/ports.c
@@
-1,10
+1,10
@@
/* $Id: ports.c,v 1.15 2005/10/15 18:05:03 titer Exp $
This file is part of the HandBrake source code.
/* $Id: ports.c,v 1.15 2005/10/15 18:05:03 titer Exp $
This file is part of the HandBrake source code.
- Homepage: <http://handbrake.
m0k.org
/>.
+ Homepage: <http://handbrake.
fr
/>.
It may be used under the terms of the GNU General Public License. */
It may be used under the terms of the GNU General Public License. */
-#include <time.h>
+#include <time.h>
#include <sys/time.h>
#if defined( SYS_BEOS )
#include <sys/time.h>
#if defined( SYS_BEOS )
@@
-12,6
+12,8
@@
#include <signal.h>
#elif defined( SYS_CYGWIN )
#include <windows.h>
#include <signal.h>
#elif defined( SYS_CYGWIN )
#include <windows.h>
+#elif defined( SYS_SunOS )
+#include <sys/processor.h>
#endif
#if USE_PTHREAD
#endif
#if USE_PTHREAD
@@
-74,7
+76,7
@@
void hb_snooze( int delay )
}
#if defined( SYS_BEOS )
snooze( 1000 * delay );
}
#if defined( SYS_BEOS )
snooze( 1000 * delay );
-#elif defined( SYS_DARWIN ) || defined( SYS_LINUX ) || defined( SYS_FREEBSD )
+#elif defined( SYS_DARWIN ) || defined( SYS_LINUX ) || defined( SYS_FREEBSD
) || defined( SYS_SunOS
)
usleep( 1000 * delay );
#elif defined( SYS_CYGWIN )
Sleep( delay );
usleep( 1000 * delay );
#elif defined( SYS_CYGWIN )
Sleep( delay );
@@
-146,6
+148,22
@@
int hb_get_cpu_count()
SYSTEM_INFO cpuinfo;
GetSystemInfo( &cpuinfo );
cpu_count = cpuinfo.dwNumberOfProcessors;
SYSTEM_INFO cpuinfo;
GetSystemInfo( &cpuinfo );
cpu_count = cpuinfo.dwNumberOfProcessors;
+#elif defined( SYS_SunOS )
+ {
+ processorid_t cpumax;
+ int i,j=0;
+
+ cpumax = sysconf(_SC_CPUID_MAX);
+
+ for(i = 0; i <= cpumax; i++ )
+ {
+ if(p_online(i, P_STATUS) != -1)
+ {
+ j++;
+ }
+ }
+ cpu_count=j;
+ }
#endif
cpu_count = MAX( 1, cpu_count );
#endif
cpu_count = MAX( 1, cpu_count );
@@
-194,7
+212,7
@@
void hb_get_tempory_filename( hb_handle_t * h, char name[1024],
hb_get_tempory_directory( h, name );
strcat( name, "/" );
hb_get_tempory_directory( h, name );
strcat( name, "/" );
-
+
va_start( args, fmt );
vsnprintf( &name[strlen(name)], 1024 - strlen(name), fmt, args );
va_end( args );
va_start( args, fmt );
vsnprintf( &name[strlen(name)], 1024 - strlen(name), fmt, args );
va_end( args );
@@
-267,7
+285,7
@@
static void hb_thread_func( void * _t )
t->function( t->arg );
/* Inform that the thread can be joined now */
t->function( t->arg );
/* Inform that the thread can be joined now */
- hb_
log(
"thread %x exited (\"%s\")", t->thread, t->name );
+ hb_
deep_log( 2,
"thread %x exited (\"%s\")", t->thread, t->name );
hb_lock( t->lock );
t->exited = 1;
hb_unlock( t->lock );
hb_lock( t->lock );
t->exited = 1;
hb_unlock( t->lock );
@@
-312,7
+330,7
@@
hb_thread_t * hb_thread_init( char * name, void (* function)(void *),
// SetThreadPriority( GetCurrentThread(), THREAD_PRIORITY_BELOW_NORMAL );
#endif
// SetThreadPriority( GetCurrentThread(), THREAD_PRIORITY_BELOW_NORMAL );
#endif
- hb_
log(
"thread %x started (\"%s\")", t->thread, t->name );
+ hb_
deep_log( 2,
"thread %x started (\"%s\")", t->thread, t->name );
return t;
}
return t;
}
@@
-329,21
+347,21
@@
void hb_thread_close( hb_thread_t ** _t )
#if defined( SYS_BEOS )
long exit_value;
wait_for_thread( t->thread, &exit_value );
#if defined( SYS_BEOS )
long exit_value;
wait_for_thread( t->thread, &exit_value );
-
+
#elif USE_PTHREAD
pthread_join( t->thread, NULL );
//#elif defined( SYS_CYGWIN )
// WaitForSingleObject( t->thread, INFINITE );
#endif
#elif USE_PTHREAD
pthread_join( t->thread, NULL );
//#elif defined( SYS_CYGWIN )
// WaitForSingleObject( t->thread, INFINITE );
#endif
-
- hb_
log(
"thread %x joined (\"%s\")",
+
+ hb_
deep_log( 2,
"thread %x joined (\"%s\")",
t->thread, t->name );
hb_lock_close( &t->lock );
free( t->name );
free( t );
t->thread, t->name );
hb_lock_close( &t->lock );
free( t->name );
free( t );
- *_t = NULL;
+ *_t = NULL;
}
/************************************************************************
}
/************************************************************************
@@
-391,7
+409,12
@@
hb_lock_t * hb_lock_init()
#if defined( SYS_BEOS )
l->sem = create_sem( 1, "sem" );
#elif USE_PTHREAD
#if defined( SYS_BEOS )
l->sem = create_sem( 1, "sem" );
#elif USE_PTHREAD
- pthread_mutex_init( &l->mutex, NULL );
+ pthread_mutexattr_t mta;
+
+ pthread_mutexattr_init(&mta);
+ pthread_mutexattr_settype(&mta, PTHREAD_MUTEX_NORMAL);
+
+ pthread_mutex_init( &l->mutex, &mta );
//#elif defined( SYS_CYGWIN )
// l->mutex = CreateMutex( 0, FALSE, 0 );
#endif
//#elif defined( SYS_CYGWIN )
// l->mutex = CreateMutex( 0, FALSE, 0 );
#endif
@@
-573,7
+596,7
@@
hb_net_t * hb_net_open( char * address, int port )
free( n );
return NULL;
}
free( n );
return NULL;
}
-
+
return n;
}
return n;
}