Hi Balbir,

Any news in respect of my issue and below strace ?

Thanx in advance !


On 12/15/10 9:31 PM, Warpme wrote:
On 12/14/10 6:38 PM, Balbir Singh wrote:
On Tue, Dec 14, 2010 at 1:26 PM, warpme<war...@o2.pl>  wrote:
Hi,

I'm trying to setup cgroups on Archlinux.
I have mounted cgroup fs and can see groups in fs.
I launch daemon with -vv option. Daemon starts. In log I can see parsed config rules - but no any further activity.
Hmm.. can you check the daemon is still running, if so can you strace
it and share the output

Balbir

Balbir,

Below is output of strace.
It stays on last line forever.

--------------

[r...@mythtv ~]# strace /usr/sbin/cgrulesengd --debug -v --nodaemon
execve("/usr/sbin/cgrulesengd", ["/usr/sbin/cgrulesengd", "--debug", "-v", "--nodaemon"], [/* 30 vars */]) = 0
brk(0)                                  = 0x939f000
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7753000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=61233, ...}) = 0
mmap2(NULL, 61233, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7744000
close(3)                                = 0
open("/usr/lib/libcgroup.so.1", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\200'\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=59632, ...}) = 0
mmap2(NULL, 2517904, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb74dd000 mmap2(0xb74eb000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xe) = 0xb74eb000 mmap2(0xb74ec000, 2456464, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb74ec000
close(3)                                = 0
open("/lib/libpthread.so.0", O_RDONLY)  = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\340L\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=121426, ...}) = 0
mmap2(NULL, 102912, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb74c3000
mprotect(0xb74d8000, 4096, PROT_NONE)   = 0
mmap2(0xb74d9000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x15) = 0xb74d9000 mmap2(0xb74db000, 4608, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb74db000
close(3)                                = 0
open("/lib/librt.so.1", O_RDONLY)       = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\220\30\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=30616, ...}) = 0
mmap2(NULL, 33364, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb74ba000 mmap2(0xb74c1000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6) = 0xb74c1000
close(3)                                = 0
open("/lib/libc.so.6", O_RDONLY)        = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\320m\1\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1347968, ...}) = 0
mmap2(NULL, 1358280, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb736e000
mprotect(0xb74b3000, 4096, PROT_NONE)   = 0
mmap2(0xb74b4000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x145) = 0xb74b4000 mmap2(0xb74b7000, 10696, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb74b7000
close(3)                                = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb736d000 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb736c000 set_thread_area({entry_number:-1 -> 6, base_addr:0xb736c960, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0
mprotect(0xb74b4000, 8192, PROT_READ)   = 0
mprotect(0xb74c1000, 4096, PROT_READ)   = 0
mprotect(0xb74d9000, 4096, PROT_READ)   = 0
mprotect(0xb7771000, 4096, PROT_READ)   = 0
munmap(0xb7744000, 61233)               = 0
set_tid_address(0xb736c9c8)             = 20729
set_robust_list(0xb736c9d0, 0xc)        = 0
futex(0xbf9009a0, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0xbf9009a0, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 1, NULL, bf9009b0) = -1 EAGAIN (Resource temporarily unavailable)
rt_sigaction(SIGRTMIN, {0xb74c76c0, [], SA_SIGINFO}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {0xb74c7740, [], SA_RESTART|SA_SIGINFO}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0
uname({sys="Linux", node="mythtv", ...}) = 0
getuid32()                              = 0
brk(0)                                  = 0x939f000
brk(0x93c0000)                          = 0x93c0000
open("/proc/cgroups", O_RDONLY|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7752000
read(3, "#subsys_name\thierarchy\tnum_cgrou"..., 1024) = 164
read(3, "", 1024)                       = 0
open("/proc/mounts", O_RDONLY|O_CLOEXEC) = 4
fstat64(4, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7751000
read(4, "rootfs / rootfs rw 0 0\nproc /pro"..., 1024) = 1024
read(4, "elatime,freezer 0 0\ncgroup /mnt/"..., 1024) = 134
read(4, "", 1024)                       = 0
close(3)                                = 0
munmap(0xb7752000, 4096)                = 0
close(4)                                = 0
munmap(0xb7751000, 4096)                = 0
open("/etc/cgrules.conf", O_RDONLY|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=4056, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7752000
read(3, "# /etc/cgrules.conf\n#\n#Each line"..., 4096) = 4056
socket(PF_FILE, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 4
connect(4, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory)
close(4)                                = 0
socket(PF_FILE, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 4
connect(4, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory)
close(4)                                = 0
open("/etc/nsswitch.conf", O_RDONLY)    = 4
fstat64(4, {st_mode=S_IFREG|0644, st_size=223, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7751000
read(4, "# Begin /etc/nsswitch.conf\n\npass"..., 4096) = 223
read(4, "", 4096)                       = 0
close(4)                                = 0
munmap(0xb7751000, 4096)                = 0
open("/etc/ld.so.cache", O_RDONLY)      = 4
fstat64(4, {st_mode=S_IFREG|0644, st_size=61233, ...}) = 0
mmap2(NULL, 61233, PROT_READ, MAP_PRIVATE, 4, 0) = 0xb735d000
close(4)                                = 0
open("/lib/libnss_files.so.2", O_RDONLY) = 4
read(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\360\31\0\0004\0\0\0"..., 512) = 512
fstat64(4, {st_mode=S_IFREG|0755, st_size=42496, ...}) = 0
mmap2(NULL, 45772, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 4, 0) = 0xb7746000 mmap2(0xb7750000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 4, 0x9) = 0xb7750000
close(4)                                = 0
mprotect(0xb7750000, 4096, PROT_READ)   = 0
munmap(0xb735d000, 61233)               = 0
open("/etc/passwd", O_RDONLY|O_CLOEXEC) = 4
fcntl64(4, F_GETFD)                     = 0x1 (flags FD_CLOEXEC)
fstat64(4, {st_mode=S_IFREG|0644, st_size=656, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7745000
read(4, "root:x:0:0:root:/root:/bin/bash\n"..., 4096) = 656
close(4)                                = 0
munmap(0xb7745000, 4096)                = 0
open("/etc/passwd", O_RDONLY|O_CLOEXEC) = 4
fstat64(4, {st_mode=S_IFREG|0644, st_size=656, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7745000
read(4, "root:x:0:0:root:/root:/bin/bash\n"..., 4096) = 656
close(4)                                = 0
munmap(0xb7745000, 4096)                = 0
open("/etc/passwd", O_RDONLY|O_CLOEXEC) = 4
fstat64(4, {st_mode=S_IFREG|0644, st_size=656, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7745000
read(4, "root:x:0:0:root:/root:/bin/bash\n"..., 4096) = 656
close(4)                                = 0
munmap(0xb7745000, 4096)                = 0
open("/etc/passwd", O_RDONLY|O_CLOEXEC) = 4
fstat64(4, {st_mode=S_IFREG|0644, st_size=656, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7745000
read(4, "root:x:0:0:root:/root:/bin/bash\n"..., 4096) = 656
close(4)                                = 0
munmap(0xb7745000, 4096)                = 0
open("/etc/passwd", O_RDONLY|O_CLOEXEC) = 4
fstat64(4, {st_mode=S_IFREG|0644, st_size=656, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7745000
read(4, "root:x:0:0:root:/root:/bin/bash\n"..., 4096) = 656
close(4)                                = 0
munmap(0xb7745000, 4096)                = 0
open("/etc/passwd", O_RDONLY|O_CLOEXEC) = 4
fstat64(4, {st_mode=S_IFREG|0644, st_size=656, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7745000
read(4, "root:x:0:0:root:/root:/bin/bash\n"..., 4096) = 656
close(4)                                = 0
munmap(0xb7745000, 4096)                = 0
open("/etc/passwd", O_RDONLY|O_CLOEXEC) = 4
fstat64(4, {st_mode=S_IFREG|0644, st_size=656, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7745000
read(4, "root:x:0:0:root:/root:/bin/bash\n"..., 4096) = 656
close(4)                                = 0
munmap(0xb7745000, 4096)                = 0
open("/etc/passwd", O_RDONLY|O_CLOEXEC) = 4
fstat64(4, {st_mode=S_IFREG|0644, st_size=656, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7745000
read(4, "root:x:0:0:root:/root:/bin/bash\n"..., 4096) = 656
close(4)                                = 0
munmap(0xb7745000, 4096)                = 0
open("/etc/passwd", O_RDONLY|O_CLOEXEC) = 4
fstat64(4, {st_mode=S_IFREG|0644, st_size=656, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7745000
read(4, "root:x:0:0:root:/root:/bin/bash\n"..., 4096) = 656
close(4)                                = 0
munmap(0xb7745000, 4096)                = 0
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0xb7752000, 4096)                = 0
fstat64(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 2), ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7752000 write(1, "CGroup Rules Engine Daemon log s"..., 39CGroup Rules Engine Daemon log started
) = 39
time(NULL)                              = 1292444769
open("/etc/localtime", O_RDONLY)        = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=2679, ...}) = 0
fstat64(3, {st_mode=S_IFREG|0644, st_size=2679, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7745000 read(3, "TZif2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\n\0\0\0\n\0\0\0\0"..., 4096) = 2679
_llseek(3, -28, [2651], SEEK_CUR)       = 0
read(3, "\nCET-1CEST,M3.5.0,M10.5.0/3\n", 4096) = 28
close(3)                                = 0
munmap(0xb7745000, 4096)                = 0
write(1, "Current time: Wed Dec 15 21:26:0"..., 39Current time: Wed Dec 15 21:26:09 2010
) = 39
write(1, "\n", 1
)                       = 1
write(1, "Opened log file: -, log facility"..., 50Opened log file: -, log facility: 0, log level: 7
) = 50
write(1, "Proceeding with PID 20729\n", 26Proceeding with PID 20729
) = 26
rt_sigaction(SIGUSR2, {0x8049380, [], 0}, NULL, 8) = 0
rt_sigaction(SIGINT, {0x8049310, [], 0}, NULL, 8) = 0
rt_sigaction(SIGTERM, {0x8049310, [], 0}, NULL, 8) = 0
write(1, "Rule: mythtv:mythfrontend\n", 26Rule: mythtv:mythfrontend
) = 26
write(1, "  UID: 1000\n", 12  UID: 1000
)           = 12
write(1, "  GID: N/A\n", 11  GID: N/A
)            = 11
write(1, "  DEST: mythtv_high/\n", 21  DEST: mythtv_high/
)  = 21
write(1, "  CONTROLLERS:\n", 15  CONTROLLERS:
)        = 15
write(1, "    blkio\n", 10    blkio
)             = 10
write(1, "    cpu\n", 8    cpu
)                = 8
write(1, "    cpuset\n", 11    cpuset
)            = 11
write(1, "    memory\n", 11    memory
)            = 11
write(1, "\n", 1
)                       = 1
write(1, "Rule: mythtv:mythbackend\n", 25Rule: mythtv:mythbackend
) = 25
write(1, "  UID: 1000\n", 12  UID: 1000
)           = 12
write(1, "  GID: N/A\n", 11  GID: N/A
)            = 11
write(1, "  DEST: mythtv_med/\n", 20  DEST: mythtv_med/
)   = 20
write(1, "  CONTROLLERS:\n", 15  CONTROLLERS:
)        = 15
write(1, "    blkio\n", 10    blkio
)             = 10
write(1, "    cpu\n", 8    cpu
)                = 8
write(1, "    memory\n", 11    memory
)            = 11
write(1, "\n", 1
)                       = 1
write(1, "Rule: mythtv:mythfilldatabase\n", 30Rule: mythtv:mythfilldatabase
) = 30
write(1, "  UID: 1000\n", 12  UID: 1000
)           = 12
write(1, "  GID: N/A\n", 11  GID: N/A
)            = 11
write(1, "  DEST: mythtv_low/\n", 20  DEST: mythtv_low/
)   = 20
write(1, "  CONTROLLERS:\n", 15  CONTROLLERS:
)        = 15
write(1, "    blkio\n", 10    blkio
)             = 10
write(1, "    cpu\n", 8    cpu
)                = 8
write(1, "\n", 1
)                       = 1
write(1, "Rule: mythtv:mythcommflag\n", 26Rule: mythtv:mythcommflag
) = 26
write(1, "  UID: 1000\n", 12  UID: 1000
)           = 12
write(1, "  GID: N/A\n", 11  GID: N/A
)            = 11
write(1, "  DEST: mythtv_low/\n", 20  DEST: mythtv_low/
)   = 20
write(1, "  CONTROLLERS:\n", 15  CONTROLLERS:
)        = 15
write(1, "    blkio\n", 10    blkio
)             = 10
write(1, "    cpu\n", 8    cpu
)                = 8
write(1, "\n", 1
)                       = 1
write(1, "Rule: mythtv:mythpreviewgen\n", 28Rule: mythtv:mythpreviewgen
) = 28
write(1, "  UID: 1000\n", 12  UID: 1000
)           = 12
write(1, "  GID: N/A\n", 11  GID: N/A
)            = 11
write(1, "  DEST: mythtv_low/\n", 20  DEST: mythtv_low/
)   = 20
write(1, "  CONTROLLERS:\n", 15  CONTROLLERS:
)        = 15
write(1, "    blkio\n", 10    blkio
)             = 10
write(1, "    cpu\n", 8    cpu
)                = 8
write(1, "\n", 1
)                       = 1
write(1, "Rule: mysql:mysqld\n", 19Rule: mysql:mysqld
)    = 19
write(1, "  UID: 89\n", 10  UID: 89
)             = 10
write(1, "  GID: N/A\n", 11  GID: N/A
)            = 11
write(1, "  DEST: system_high/\n", 21  DEST: system_high/
)  = 21
write(1, "  CONTROLLERS:\n", 15  CONTROLLERS:
)        = 15
write(1, "    *\n", 6    *
)                  = 6
write(1, "\n", 1
)                       = 1
write(1, "Rule: root:sasc-ng\n", 19Rule: root:sasc-ng
)    = 19
write(1, "  UID: 0\n", 9  UID: 0
)               = 9
write(1, "  GID: N/A\n", 11  GID: N/A
)            = 11
write(1, "  DEST: system_high/\n", 21  DEST: system_high/
)  = 21
write(1, "  CONTROLLERS:\n", 15  CONTROLLERS:
)        = 15
write(1, "    blkio\n", 10    blkio
)             = 10
write(1, "    cpu\n", 8    cpu
)                = 8
write(1, "    memory\n", 11    memory
)            = 11
write(1, "\n", 1
)                       = 1
write(1, "Rule: root:oscam\n", 17Rule: root:oscam
)      = 17
write(1, "  UID: 0\n", 9  UID: 0
)               = 9
write(1, "  GID: N/A\n", 11  GID: N/A
)            = 11
write(1, "  DEST: system_high/\n", 21  DEST: system_high/
)  = 21
write(1, "  CONTROLLERS:\n", 15  CONTROLLERS:
)        = 15
write(1, "    blkio\n", 10    blkio
)             = 10
write(1, "    cpu\n", 8    cpu
)                = 8
write(1, "    memory\n", 11    memory
)            = 11
write(1, "\n", 1
)                       = 1
write(1, "Rule: root:sshd\n", 16Rule: root:sshd
)       = 16
write(1, "  UID: 0\n", 9  UID: 0
)               = 9
write(1, "  GID: N/A\n", 11  GID: N/A
)            = 11
write(1, "  DEST: system_high/\n", 21  DEST: system_high/
)  = 21
write(1, "  CONTROLLERS:\n", 15  CONTROLLERS:
)        = 15
write(1, "    *\n", 6    *
)                  = 6
write(1, "\n", 1
)                       = 1
write(1, "Rule: *\n", 8Rule: *
)                = 8
write(1, "  UID: any\n", 11  UID: any
)            = 11
write(1, "  GID: any\n", 11  GID: any
)            = 11
write(1, "  DEST: sysdefault/\n", 20  DEST: sysdefault/
)   = 20
write(1, "  CONTROLLERS:\n", 15  CONTROLLERS:
)        = 15
write(1, "    *\n", 6    *
)                  = 6
write(1, "\n", 1
)                       = 1
write(1, "Started the CGroup Rules Engine "..., 40Started the CGroup Rules Engine Daemon.
) = 40
socket(PF_NETLINK, SOCK_DGRAM, 11)      = 3
bind(3, {sa_family=AF_NETLINK, pid=20729, groups=00000001}, 12) = 0
send(3, "(\0\0\0\3\0\0\0\0\0\0\0\371P\0\0\1\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 40, 0) = 40
socket(PF_FILE, SOCK_STREAM, 0)         = 4
unlink("/var/run/cgred.socket")         = 0
bind(4, {sa_family=AF_FILE, path="/var/run/cgred.socket"}, 23) = 0
listen(4, 1)                            = 0
chown32("/var/run/cgred.socket", -1, -1) = 0
chmod("/var/run/cgred.socket", 0660)    = 0
rt_sigprocmask(SIG_UNBLOCK, [USR2], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [USR2], NULL, 8) = 0
select(5, [3 4], NULL, NULL, NULL



------------------------------------------------------------------------------
Lotusphere 2011
Register now for Lotusphere 2011 and learn how
to connect the dots, take your collaborative environment
to the next level, and enter the era of Social Business.
http://p.sf.net/sfu/lotusphere-d2d
_______________________________________________
Libcg-devel mailing list
Libcg-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libcg-devel

Reply via email to