cubieboard2 (raspberry-pi クローン) で perforce サーバーをセットアップしようとしています。
Linux ARM (2011.1) 用の p4d と p4 をダウンロードしました。
私はこのようにサーバーを実行しています:
p4d -d -r root_path -p 12345 -L log
サーバー マシン (サーバー IP 192.168.1.1) で直接実行されているコマンドの統計
p4 -p 12345 users # it returns immediately
p4 -p 127.0.0.1:12345 users # it returns immediately
p4 -p localhost:12345 users # it returns immediately
p4 -p 192.168.1.1:12345 users # it returns immediately
p4 -p 12345 info # it returns immediately
p4 -p 127.0.0.1:12345 info # it returns immediately
p4 -p localhost:12345 info # it returns immediately
p4 -p 192.168.1.1:12345 info # returns after ~10 sec
私は自分の Windows PC からこの perforce サーバーに接続したいです。私はサーバーと LAN に接続しているので、p4 -p 192.168.1.1:12345 usersコマンドで接続しています)
他のコマンドを確認していません。p4Admin または p4v に接続できません。ハングするか、何もしないため、サーバーが使用できません。
でサーバーを起動する
p4d -d -r root_path -p 192.168.1.1:12345 -L log
p4 -p 12345 または localhost:12345 または 127.0.0.1:12345でコマンドを実行できなくなります
が、 192.168.1.1:12345 での同じ話
ノート。ftp も実行していますが、192.168.1.1 経由で接続すると問題なく動作します
編集。win7 pc から実行された'p4 -p 192.168.1.1:12345 ユーザー' のp4d strace のstrace ログを追加しました(ip は '13' で終わり、immed を返します)。
{sa_family=AF_INET, sin_port=htons(61483), sin_addr=inet_addr("192.168.1.13")}, [16]) = 4
fcntl64(4, F_SETFD, FD_CLOEXEC) = 0
fcntl64(4, F_GETFL) = 0x2 (flags O_RDWR)
fcntl64(4, F_SETFL, O_RDWR|O_NONBLOCK) = 0
setsockopt(4, SOL_SOCKET, SO_KEEPALIVE, [1], 4) = 0
rt_sigaction(SIGCHLD, {0x16d160, [CHLD], SA_RESTART|0x4000000}, {0x16d160, [CHLD], SA_RESTART|0x4000000}, 8) = 0
wait4(-1, 0xbea31744, WNOHANG, NULL) = -1 ECHILD (No child processes)
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb6e45068) = 2890
close(4) = 0
gettimeofday({1380359365, 320807}, NULL) = 0
accept(3, 0xbea31734, [16]) = ? ERESTARTSYS (To be restarted)
--- SIGCHLD (Child exited) @ 0 (0) ---
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], WNOHANG, NULL) = 2890
wait4(-1, 0xbea3141c, WNOHANG, NULL) = -1 ECHILD (No child processes)
rt_sigaction(SIGCHLD, {0x16d160, [CHLD], SA_RESTART|0x4000000}, {0x16d160, [CHLD], SA_RESTART|0x4000000}, 8) = 0
sigreturn() = ? (mask now [HUP INT QUIT])
accept(3,
p4 の strace -p 192.168.1.1:12345 情報
{sa_family=AF_INET, sin_port=htons(61486), sin_addr=inet_addr("192.168.1.13")}, [16]) = 4
fcntl64(4, F_SETFD, FD_CLOEXEC) = 0
fcntl64(4, F_GETFL) = 0x2 (flags O_RDWR)
fcntl64(4, F_SETFL, O_RDWR|O_NONBLOCK) = 0
setsockopt(4, SOL_SOCKET, SO_KEEPALIVE, [1], 4) = 0
rt_sigaction(SIGCHLD, {0x16d160, [CHLD], SA_RESTART|0x4000000}, {0x16d160, [CHLD], SA_RESTART|0x4000000}, 8) = 0
wait4(-1, 0xbea31744, WNOHANG, NULL) = -1 ECHILD (No child processes)
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb6e45068) = 2894
close(4) = 0
gettimeofday({1380359462, 822219}, NULL) = 0
accept(3,
今は遅れており、その後、次の行が表示されます
0xbea31734, [16]) = ? ERESTARTSYS (To be restarted)
--- SIGCHLD (Child exited) @ 0 (0) ---
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], WNOHANG, NULL) = 2894
wait4(-1, 0xbea3141c, WNOHANG, NULL) = -1 ECHILD (No child processes)
rt_sigaction(SIGCHLD, {0x16d160, [CHLD], SA_RESTART|0x4000000}, {0x16d160, [CHLD], SA_RESTART|0x4000000}, 8) = 0
sigreturn() = ? (mask now [HUP INT QUIT])
accept(3,
それは私に多くを語っていませんが、ご覧のとおり、まったく同じ行が
accept(3, 0xbea31734, [16]) = ? ERESTARTSYS (再起動する必要があります)
が両方のログに表示され、後者では「accept(3, 」の後に 10 秒間停止します。
スワップに関しては、ボードに接続された外付けドライブのスワップ ファイルとして有効にしましたが、どちらの方法でも、sd カードから起動していますが、無効にしても変更はありません。