LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: zlbruce

网络电视 sopcast 的 GTK 前端 V 0.2.3 版

[复制链接]
发表于 2006-1-4 17:11:40 | 显示全部楼层

一个自动加载channel的版本

启动即加载channel list,代码不太简洁。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2006-1-4 18:03:17 | 显示全部楼层
谢谢楼上的代码,建议使用patch来分发。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-1-4 18:13:02 | 显示全部楼层
Post by dyte200
启动即加载channel list,代码不太简洁。

哈,谢谢,一下启发了我呀,可以在启动的时候判断 ~/.sopcast/ 目录下有没有 channel list ,如果有就加载,以后每刷新一次就把 /tmp 里面的列表复制到 ~/.sopcast ,这样应该比较好吧。
回复 支持 反对

使用道具 举报

发表于 2006-1-4 18:47:12 | 显示全部楼层
我想实验fork的用法,改fork.c文件,原函数是
void fork_sop()
{
pid = fork();
  if(pid == -1)
{。。。}
else if(pid == 0)
{。。。}
else
{。。。
pid_sop=pid;
。。。}
}
改成
void fork_sop()
{
pid = fork();
  if(pid == -1)
{。。。}
else if(pid == 0)
{。。。
pid_sop=(int)getpid();
。。。}
else
{。。。}
}
重编译sopcast,可以看电视,但之后无法关闭sp-sc了?为什么sp-sc的进程标识pid_sop放置位置不对结果就出问题了?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-1-4 19:03:09 | 显示全部楼层
因为你只是修改了子进程的 pid_sop 值,并没有改主进程里面的值。
回复 支持 反对

使用道具 举报

发表于 2006-1-4 20:44:00 | 显示全部楼层
我把.sopcast/config删掉,启动sopcast结果崩溃:segment fault
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-1-4 21:47:18 | 显示全部楼层
Post by dyte200
我把.sopcast/config删掉,启动sopcast结果崩溃:segment fault

唉~,发现在 判断配置文件是否可写 那有很严重的逻辑错误 :sorry
回复 支持 反对

使用道具 举报

发表于 2006-1-4 22:03:55 | 显示全部楼层
data.c作修改如下:
gboolean loadconfig()
{
。。。
                       
        if(!fp)// && !saveconfig())
        {               
。。。
}
就解决该问题了?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-1-4 22:19:45 | 显示全部楼层
patch 如下:
[php]--- src/data.c  2006-01-04 22:13:42.000000000 +0800
+++ src/data.c  2006-01-04 22:08:00.000000000 +0800
@@ -55,7 +55,6 @@
        fprintf(fp,"play_port=%d\n",iPlayPort);

        fclose(fp);
-       loadconfig();
        return TRUE;
}

@@ -72,12 +71,15 @@

        fp=fopen(strPath,"rt");

-       if(!fp && !saveconfig())
+       if(!fp)
        {
-//             saveconfig();
-//             loadconfig();
-               fprintf(stderr,"Warning: You can not use the `config' file! \n");
-               return FALSE;
+               if(!saveconfig())
+               {
+                       fprintf(stderr,"Warning: You can not use the `config' file! \n");
+                       return FALSE;
+               }
+               loadconfig();
+               return TRUE;
        }

        while(1)
[/php]
回复 支持 反对

使用道具 举报

发表于 2006-1-5 04:26:44 | 显示全部楼层
好东西!顶啊!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表