fix(launcher): App暴毙后卡死根因——execpipe 裸阻塞 read 改 poll+2s超时(agent-214) + ams_drain_stdout 64KB有界 + reap_wait兜底5处裸waitpid + watchdog关继承fd + font_sha256_file popen改有界 + 既有警告清理; fix(ncm): cookie盐不随包名(旧登录态可解)
launcher 97c1b222→333d6f53; ncm→1124dbf2; 宿主harness stall/ok/orphan全过
This commit is contained in:
1 parent
efbd1d5a2f
commit
228e9e79e0
7 files changed
+86
-48
No files matched your search
@@ -98,8 +98,8 @@ int settings_cache_registered = 0; /* M2.24:监听只注册一次 */
|
||||
* Volume"(numid 1/2,0-255)→ codec 驱动 cs43198_vol_*_put → I2C 直写 CS43198
|
||||
* 寄存器(0x9000-0x9002/0x7000-0x7001,双片 L/R)。我们复刻同路径(amixer
|
||||
* cset = SNDRV_CTL_IOCTL_ELEM_WRITE),0-100 → 0-255 映射直写两声道。
|
||||
* 读回不可用(驱动 get 为 dummy 恒 0;/dev/i2c-3 被驱动占用),故 meow_vol_get()
|
||||
* 返回我们写入的跟踪值(= 真实 DAC 映射值)。 */
|
||||
* 读回不可用(驱动 get 为 dummy 恒 0;/dev/i2c-3 被驱动占用),故系统音量以
|
||||
* settings_volume(写入 DAC 的映射值)为权威跟踪值。 */
|
||||
void meow_dac_vol_write(int pct)
|
||||
{
|
||||
int dac = pct * 255 / 100;
|
||||
@@ -142,14 +142,6 @@ int vol_clamp(int v)
|
||||
return v;
|
||||
}
|
||||
|
||||
static void settings_volume_set(int v)
|
||||
{
|
||||
v = vol_clamp(v); /* 0..MEOW_VOL_MAX,再 clamp 到上限 */
|
||||
meow_settings_set_int("audio.volume", v); /* clamp 集中在 backend;listener 同步缓存 */
|
||||
meow_dac_vol_write(settings_volume); /* 每次变更即直写真实 DAC(CS43198) */
|
||||
meow_settings_save(); /* 单点变更即落盘 */
|
||||
}
|
||||
|
||||
int settings_volume_get(void) { return settings_volume; }
|
||||
|
||||
int vol_ramp_dir = 0; /* +1 上 / -1 下 / 0 停 */
|
||||
@@ -217,8 +209,3 @@ int vol_ramp_tick(int key_held)
|
||||
void settings_volume_adj(int delta) { vol_ramp_begin(delta); }
|
||||
|
||||
|
||||
/* MeowOS 音量 API:get 返回当前(= 写入 DAC 的映射值);set 写真实 DAC + 持久化。 */
|
||||
static void meow_vol_set(int pct) { settings_volume_set(pct); }
|
||||
|
||||
static int meow_vol_get(void) { return settings_volume; }
|
||||
|
||||
Reference in new issue
Block a user