summaryrefslogtreecommitdiff
path: root/src/time/timr.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/time/timr.cpp')
-rw-r--r--src/time/timr.cpp18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/time/timr.cpp b/src/time/timr.cpp
index 0d049c3..65ba780 100644
--- a/src/time/timr.cpp
+++ b/src/time/timr.cpp
@@ -1,12 +1,11 @@
/*:*
*: File: ./src/time/timr.cpp
*:
- *: yChat; Homepage: ychat.buetow.org; Version 0.9.0-CURRENT
+ *: yChat; Homepage: www.yChat.org; Version 0.8.3-CURRENT
*:
*: Copyright (C) 2003 Paul C. Buetow, Volker Richter
*: Copyright (C) 2004 Paul C. Buetow
*: Copyright (C) 2005 EXA Digital Solutions GbR
- *: Copyright (C) 2006, 2007 Paul C. Buetow
*:
*: This program is free software; you can redistribute it and/or
*: modify it under the terms of the GNU General Public License
@@ -36,6 +35,9 @@ timr::timr()
wrap::system_message( TIMERIN );
b_timer_active = true;
+ pthread_mutex_init( &mut_s_time, NULL);
+ pthread_mutex_init( &mut_s_uptime, NULL);
+ pthread_mutex_init( &mut_i_offset, NULL);
i_time_offset = tool::string2int( wrap::CONF->get_elem("chat.timeoffset") );
wrap::system_message( TIMEROF + tool::int2string( i_time_offset ) );
@@ -45,7 +47,11 @@ timr::timr()
}
timr::~timr()
-{}
+{
+ pthread_mutex_destroy( &mut_s_time );
+ pthread_mutex_destroy( &mut_s_uptime );
+ pthread_mutex_destroy( &mut_i_offset );
+}
bool
timr::get_timer_active() const
@@ -56,7 +62,9 @@ timr::get_timer_active() const
int
timr::get_offset()
{
+ pthread_mutex_lock ( &mut_i_offset );
int i_ret_val = i_time_offset;
+ pthread_mutex_unlock( &mut_i_offset );
return i_ret_val;
}
@@ -150,13 +158,17 @@ timr::set_time( double d_uptime, int i_cur_seconds, int i_cur_minutes, int i_cur
if (i_cur_hours == 24)
i_cur_hours = 0;
+ pthread_mutex_lock ( &mut_s_time );
s_time = add_zero_to_front( tool::int2string( i_cur_hours ) ) + ":" +
add_zero_to_front( tool::int2string( i_cur_minutes ) ) + ":" +
add_zero_to_front( tool::int2string( i_cur_seconds ) );
+ pthread_mutex_unlock( &mut_s_time );
+ pthread_mutex_lock ( &mut_s_uptime );
s_uptime = add_zero_to_front( tool::int2string( i_hours ) ) + ":" +
add_zero_to_front( tool::int2string( i_minutes ) ) + ":" +
add_zero_to_front( tool::int2string( (int) d_uptime ) );
+ pthread_mutex_unlock( &mut_s_uptime );
}
string